/* M&C Web Studio — palette derivata dal logo: verde profondo e avorio lime. */
:root{--green:#124c36;--green-deep:#0b3527;--green-mid:#1c6347;--lime:#e8f59a;--cream:#f2f0df;--paper:#f7f7ef;--ink:#173a2c;--muted:#a9bdb1;--line:rgba(232,245,154,.18);--glass:rgba(240,248,223,.055);--font:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace;--ease:cubic-bezier(.22,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--green-deep);color:var(--cream);font-family:var(--font);font-size:15px;line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}::selection{background:var(--lime);color:var(--green-deep)}.section-wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.site-glow{position:absolute;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(80px);opacity:.14}.site-glow--one{width:450px;height:450px;top:180px;right:-150px;background:#8eaa56}.site-glow--two{width:380px;height:380px;top:1250px;left:-180px;background:#2e9870}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:12px 18px;background:var(--lime);color:var(--green-deep);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.header{position:fixed;z-index:100;top:0;left:0;width:100%;transition:background .3s,border-color .3s,box-shadow .3s;border-bottom:1px solid transparent}.header.scrolled{background:rgba(11,53,39,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(232,245,154,.12);box-shadow:0 8px 40px #071d1570}.header-inner{width:min(1280px,calc(100% - 64px));height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand img{width:52px;height:52px;object-fit:contain;border-radius:50%}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:17px;letter-spacing:-.06em}.brand-copy small{font-family:var(--mono);font-size:9px;letter-spacing:.16em;margin-top:5px;color:var(--lime)}.nav{display:flex;align-items:center;gap:34px;font-size:12px;color:#d2e0d4}.nav>a{transition:color .2s}.nav>a:hover,.nav>a:focus-visible{color:var(--lime)}.nav-contact{padding:11px 16px;border:1px solid rgba(232,245,154,.4);border-radius:3px;color:var(--lime)!important}.nav-contact span{margin-left:12px}.menu-toggle{display:none}
.hero{min-height:790px;padding-top:160px;padding-bottom:100px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:45px;position:relative}.hero-copy{padding-bottom:26px;position:relative;z-index:2}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:.13em;color:var(--lime);margin:0 0 26px;display:flex;align-items:center;gap:10px}.status-dot,.form-indicator i{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 12px #e8f59a99}.eyebrow-year{color:#819b8a}.hero h1{font-size:clamp(46px,5.4vw,76px);line-height:1.08;letter-spacing:-.065em;font-weight:600;margin:0;max-width:660px}.serif-accent{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.065em;color:var(--lime)}.hero-description{max-width:470px;margin:28px 0 30px;color:#b7cbbd;font-size:14px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 19px;border:1px solid transparent;border-radius:3px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--lime);color:var(--green-deep);box-shadow:0 5px 20px #e8f59a12}.button-primary:hover{background:#f3ffb6;box-shadow:0 9px 30px #e8f59a25}.button span{font-size:17px}.text-link{font-size:12px;color:#d8e4d9;display:inline-flex;align-items:center;gap:13px;border-bottom:1px solid #a9bdb16b;padding:8px 0;transition:color .2s,border-color .2s}.text-link:hover{color:var(--lime);border-color:var(--lime)}.hero-footnote{display:flex;align-items:center;gap:12px;margin-top:50px;font:10px var(--mono);color:#8ca797}.footnote-line{width:34px;height:1px;background:var(--lime)}
.hero-art{height:500px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.art-orbit{position:absolute;border:1px solid #dff19b25;border-radius:50%;aspect-ratio:1;pointer-events:none}.orbit-one{width:440px;transform:rotate(-23deg) scaleY(.7)}.orbit-two{width:370px;transform:rotate(35deg) scaleY(.8);border-style:dashed;border-color:#dff19b30}.browser-card{position:relative;z-index:2;width:min(390px,83%);background:#e8eddb;color:#1b3b2b;border:1px solid #ffffffa1;border-radius:7px;overflow:hidden;box-shadow:0 30px 90px #061c1490;transform:rotate(-3deg);transition:transform .6s var(--ease)}.hero-art:hover .browser-card{transform:rotate(0deg) translateY(-5px)}.glass-panel{background:linear-gradient(135deg,rgba(242,247,224,.085),rgba(242,247,224,.025));border:1px solid rgba(232,245,154,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.055);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.browser-top{height:37px;padding:0 12px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #193d2b18;font:8px var(--mono);color:#718276}.browser-dots{display:flex;gap:4px}.browser-dots i{width:5px;height:5px;border-radius:50%;background:#a7b2a1}.browser-dots i:first-child{background:#c6a47e}.browser-menu{margin-left:auto;letter-spacing:2px}.browser-content{position:relative;min-height:335px;padding:20px 25px 18px;overflow:hidden;background:linear-gradient(145deg,#e8eddb 0%,#d8e2c9 100%)}.mini-brand{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:800;position:relative;z-index:2}.mini-symbol{display:grid;place-items:center;width:23px;height:23px;background:#214d36;color:#eff7b5;border-radius:50%;font:italic 14px Georgia}.mini-menu{margin-left:auto;font-size:15px}.mini-kicker{font:7px var(--mono);letter-spacing:.12em;margin-top:47px;position:relative;z-index:2}.mini-headline{font-size:42px;line-height:.97;letter-spacing:-.08em;font-weight:800;margin-top:12px;position:relative;z-index:2}.mini-headline em{font-family:Georgia,serif;font-weight:400;color:#50704d}.mini-rule{width:35px;height:2px;background:#6d874e;margin-top:20px}.mini-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:8px;position:relative;z-index:2}.mini-arrow{display:grid;place-items:center;width:24px;height:24px;border:1px solid #214d36;border-radius:50%;font-size:13px}.mini-shape{position:absolute;width:210px;height:210px;right:-72px;bottom:-74px;border:1px solid #66804b8a;border-radius:48% 52% 62% 38%;transform:rotate(32deg)}.mini-shape span{position:absolute;inset:20px;border:1px solid #66804b6e;border-radius:50%}.mini-shape span:nth-child(2){inset:40px}.mini-shape span:nth-child(3){inset:60px}.floating-note{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;border-radius:5px;padding:13px 16px;font-size:10px;line-height:1.6;color:#dce8d8}.note-top{top:54px;right:-2px}.note-icon{font-size:22px;color:var(--lime)}.floating-note b{color:var(--lime);font-weight:600}.note-bottom{bottom:46px;left:-5px;gap:18px;font:8px var(--mono);letter-spacing:.08em}.note-index{color:var(--lime)}.art-caption{position:absolute;top:22px;left:20px;right:20px;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.1em;color:#829e8c}.art-star{position:absolute;right:48px;bottom:72px;font-size:40px;color:var(--lime);animation:slow-spin 28s linear infinite}.scroll-cue{position:absolute;bottom:28px;left:0;display:flex;align-items:center;gap:13px;font:9px var(--mono);letter-spacing:.12em;color:#849e8d}.scroll-cue span{display:inline-block;width:25px;height:1px;background:var(--lime)}
.intro-band{display:grid;grid-template-columns:.8fr 1.2fr auto;align-items:center;gap:40px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.intro-band>p:first-child{font:9px var(--mono);letter-spacing:.12em;color:var(--lime)}.intro-band>p:nth-child(2){font-size:16px;line-height:1.6;letter-spacing:-.02em;color:#d9e5d8;margin:0}.band-mark{font-size:22px;letter-spacing:-.08em;font-weight:800;color:#769582}.band-mark span{color:var(--lime);font-size:14px;margin-left:4px}
.section-block{padding-top:130px;padding-bottom:130px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:50px}.section-heading .eyebrow,.about-copy .eyebrow,.contact-heading .eyebrow{margin-bottom:18px}.section-heading h2,.about-copy h2,.contact-heading h2{font-size:clamp(38px,4.4vw,57px);line-height:1.1;letter-spacing:-.065em;font-weight:600;margin:0}.section-aside{max-width:320px;color:#a9bdb1;font-size:12px;line-height:1.9;margin:0 0 4px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{min-height:390px;padding:26px 25px 22px;border-radius:5px;display:flex;flex-direction:column;transition:transform .35s var(--ease),border-color .35s,background .35s;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;inset:-100% auto auto -40%;width:70%;height:150%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,rgba(232,245,154,.04),transparent);transition:transform .7s}.service-card:hover{transform:translateY(-5px);border-color:#e8f59a52;background:linear-gradient(135deg,#f2f7e013,#f2f7e006)}.service-card:hover:before{transform:translateX(220%) rotate(24deg)}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.service-number{font:10px var(--mono);color:#7e9b88}.service-icon{width:45px;height:45px;border:1px solid #dff19b45;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--lime)}.icon-web{gap:3px;align-items:flex-end;padding-bottom:13px}.icon-web i{display:block;width:4px;border:1px solid var(--lime);border-radius:2px;height:11px}.icon-web i:nth-child(2){height:18px}.icon-web i:nth-child(3){height:14px}.icon-brand{font:italic 14px Georgia}.icon-brand span{font-size:10px;color:#94b279}.icon-refresh{font-size:26px}.service-card h3{font-size:18px;line-height:1.35;letter-spacing:-.04em;margin:0 0 13px;font-weight:600}.service-card>p{font-size:12px;line-height:1.9;color:#a9bdb1;margin:0 0 18px}.service-card ul{list-style:none;padding:0;margin:0 0 23px;display:grid;gap:7px}.service-card li{font-size:11px;color:#d5e1d5}.service-card li:before{content:"↳";color:var(--lime);margin-right:9px}.card-link{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--lime)}.card-link span{font-size:16px;transition:transform .2s}.card-link:hover span{transform:translate(3px,-3px)}
.method-section{background:linear-gradient(180deg,#0e402e,#103f2e 75%,#0d3a2a);border-top:1px solid #dff19b12;border-bottom:1px solid #dff19b12}.method-list{border-top:1px solid var(--line)}.method-step{display:grid;grid-template-columns:50px 50px 1fr 100px;align-items:center;gap:22px;padding:25px 0;border-bottom:1px solid var(--line);transition:padding .3s}.method-step:hover{padding-inline:10px}.method-no,.step-end{font:10px var(--mono);color:#829c8b}.method-symbol{width:38px;height:38px;border:1px solid #dff19b32;border-radius:50%;display:grid;place-items:center;color:var(--lime);font-size:17px}.method-step h3{font-size:16px;letter-spacing:-.03em;margin:0 0 5px;font-weight:600}.method-step p{font-size:12px;color:#a9bdb1;margin:0}.step-end{text-align:right;letter-spacing:.1em;font-size:8px}
.portfolio-section{padding-bottom:115px}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 18px}.project-wide{grid-column:span 2}.project-visual{height:300px;position:relative;overflow:hidden;isolation:isolate}.project-wide .project-visual{height:360px}.concept-label{position:absolute;top:18px;left:18px;z-index:5;font:9px var(--mono);letter-spacing:.1em}.concept-cafe{background:#e8d9b6;color:#264a35}.cafe-sun{position:absolute;width:270px;height:270px;border-radius:50%;background:#e9a76d;right:12%;top:10%;box-shadow:0 0 0 28px #e9a76d23,0 0 0 58px #e9a76d12}.cafe-type{position:absolute;left:12%;top:24%;z-index:2;font-size:clamp(55px,8vw,100px);line-height:.76;letter-spacing:-.1em;font-weight:800}.cafe-type em{font:italic .95em Georgia;color:#416447}.cafe-footer{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.08em;border-top:1px solid #264a3540;padding-top:12px}.concept-botanica{background:#dce4c9;color:#31563d}.botanica-stamp{position:absolute;left:10%;top:23%;font:italic 120px Georgia;line-height:1}.botanica-stamp small{display:block;font:8px var(--mono);letter-spacing:.1em}.botanica-leaf{position:absolute;width:150px;height:210px;border:1px solid #31563d9c;border-radius:100% 0 100% 0;transform:rotate(36deg);right:23%;top:16%}.leaf-a:after,.leaf-b:after{content:"";position:absolute;left:50%;top:0;height:100%;width:1px;background:#31563d80;transform:rotate(-17deg)}.leaf-b{right:10%;top:32%;width:95px;height:145px;transform:rotate(73deg)}.botanica-footer{position:absolute;right:18px;bottom:17px;text-align:right;font:9px var(--mono);letter-spacing:.1em;line-height:1.8}.concept-tech{background:#172d3a;color:#d9efb0}.tech-grid{position:absolute;inset:0;background-image:linear-gradient(#d9efb012 1px,transparent 1px),linear-gradient(90deg,#d9efb012 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,black,transparent)}.tech-orb{position:absolute;right:15%;top:12%;width:150px;height:150px;border:1px solid #d9efb0a0;border-radius:50%;display:grid;place-items:center;font-size:76px;letter-spacing:-.1em;box-shadow:0 0 0 20px #d9efb00d,0 0 0 40px #d9efb009}.tech-orb span{color:#a2c86d}.tech-title{position:absolute;bottom:23%;left:10%;font-size:35px;font-weight:800;letter-spacing:-.07em}.tech-title span{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:#9bb4ac}.tech-footer{position:absolute;bottom:18px;left:18px;font:8px var(--mono);letter-spacing:.1em}.project-meta{display:flex;align-items:center;justify-content:space-between;padding:16px 3px 0}.project-category{font:8px var(--mono);letter-spacing:.08em;color:#8ea994}.project-meta h3{font-size:15px;font-weight:600;letter-spacing:-.03em;margin:5px 0 0}.project-arrow{width:35px;height:35px;border:1px solid #dff19b3b;border-radius:50%;display:grid;place-items:center;color:var(--lime);transition:background .2s,color .2s}.project-card:hover .project-arrow{background:var(--lime);color:var(--green-deep)}.portfolio-note{margin:32px 0 0;font-size:11px;color:#8fa895;display:flex;gap:10px;align-items:center}.portfolio-note span{color:var(--lime);font-size:16px}
.about-section{background:#e7edda;color:#193e2d;padding:115px 0}.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.about-visual{height:400px;position:relative;display:grid;place-items:center;overflow:hidden;background:#d8e4c7}.about-circle{position:absolute;aspect-ratio:1;border:1px solid #1c593b5c;border-radius:50%}.circle-one{width:340px}.circle-two{width:250px;border-style:dashed}.about-monogram{font-size:100px;letter-spacing:-.13em;font-weight:800;color:#24573c;position:relative;z-index:2}.about-monogram span{font:italic 60px Georgia;color:#8aa55c}.about-vertical{position:absolute;left:20px;top:50%;writing-mode:vertical-rl;transform:rotate(180deg);font:8px var(--mono);letter-spacing:.14em;color:#5f7e62}.about-sticker{position:absolute;right:14px;bottom:22px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:4px;background:#f3f5e4b8;color:#254b36;font-size:10px;line-height:1.6}.about-sticker>span{font-size:24px;color:#6c8d4d}.about-sticker b{font-weight:700}.about-copy .eyebrow{color:#5d7c4e}.about-copy h2{font-size:clamp(38px,4vw,52px)}.about-copy .serif-accent{color:#64804a}.about-copy>p:not(.eyebrow){font-size:13px;line-height:2;color:#557060;margin:15px 0}.about-copy .about-lead{font-size:16px!important;color:#244b35!important;font-weight:700;margin-top:26px!important}.about-link{color:#254b36;border-color:#6d8d6b7a;margin-top:18px}.about-link:hover{color:#56713f;border-color:#56713f}
.contact-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.contact-heading{position:relative;overflow:hidden}.contact-heading .eyebrow{margin-top:3px}.contact-heading h2{font-size:clamp(42px,4.6vw,60px)}.contact-heading>p:not(.eyebrow){max-width:400px;font-size:13px;color:#a9bdb1;line-height:1.95;margin:24px 0 35px}.contact-email-label{font:9px var(--mono);letter-spacing:.12em;color:#829c8b;margin-bottom:8px}.email-link{font-size:clamp(12px,1.4vw,15px);color:var(--lime);border-bottom:1px solid #e8f59a56;padding-bottom:9px;display:inline-flex;gap:15px;align-items:center}.contact-decoration{margin-top:70px;font-size:74px;font-weight:800;letter-spacing:-.12em;color:#ffffff08;line-height:1}.contact-decoration span{font-size:35px;color:#e8f59a20;margin-left:8px}.contact-form-wrap{padding:28px;border-radius:5px}.form-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font:9px var(--mono);letter-spacing:.1em;color:#8fa895;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:24px}.form-indicator{font-size:8px;display:flex;align-items:center;gap:7px;color:#b9c9ba}.form-indicator i{width:5px;height:5px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:19px}.field label{font-size:11px;color:#e2eadd}.field label span{color:var(--lime)}.field input,.field select,.field textarea{width:100%;background:#061e1738;border:1px solid #dff19b2b;color:var(--cream);border-radius:3px;padding:12px 13px;font-size:12px;outline:none;transition:border-color .2s,background .2s}.field input::placeholder,.field textarea::placeholder{color:#789384}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lime);background:#061e1755}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#d6e5d3 50%),linear-gradient(135deg,#d6e5d3 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.field select option{background:#103e2c;color:var(--cream)}.field textarea{resize:vertical;min-height:115px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.7;color:#a9bdb1;margin:1px 0 20px}.consent input{margin-top:4px;accent-color:var(--lime);flex-shrink:0}.consent a{text-decoration:underline;color:var(--lime)}.consent em{display:block;font-size:9px;color:#829c8b;font-style:normal}.submit-button{width:100%;justify-content:space-between}.form-note{font-size:10px;line-height:1.7;color:#8ea694;margin:14px 0 9px}.mailto-fallback{font-size:10px;color:var(--lime);text-decoration:underline;text-underline-offset:3px}.form-status{font-size:11px;color:var(--lime);margin-bottom:0}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.footer{background:#082c20;border-top:1px solid #e8f59a18;padding:42px 0 22px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;padding-bottom:35px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:55px;height:55px;object-fit:contain;border-radius:50%}.footer-brand span{display:flex;flex-direction:column;gap:4px}.footer-brand b{font-size:14px;letter-spacing:-.04em}.footer-brand small{font:8px var(--mono);letter-spacing:.1em;color:#8fa895}.footer-main>p{font-size:11px;color:#8fa895;line-height:1.8;margin:0}.footer-email{justify-self:end;font-size:11px;color:var(--lime)}.footer-email span{margin-left:10px}.footer-bottom{border-top:1px solid #e8f59a18;padding-top:18px;display:flex;justify-content:space-between;gap:20px;align-items:center;font:9px var(--mono);color:#718e7d}.footer-bottom nav{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom a{transition:color .2s}.footer-bottom a:hover{color:var(--lime)}.back-top{color:#a9bdb1;letter-spacing:.08em}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.hero-copy .reveal:nth-child(2){transition-delay:.08s}.services-grid .reveal:nth-child(2),.portfolio-grid .reveal:nth-child(2){transition-delay:.1s}.services-grid .reveal:nth-child(3),.portfolio-grid .reveal:nth-child(3){transition-delay:.18s}.services-grid .reveal:nth-child(4){transition-delay:.25s}
@keyframes slow-spin{to{transform:rotate(360deg)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(min-width:1400px){.hero{min-height:850px}.hero-art{height:560px}}
@media(max-width:950px){.section-wrap{width:min(100% - 44px,760px)}.header-inner{width:calc(100% - 44px)}.hero{grid-template-columns:1fr  .8fr;gap:10px;min-height:700px;padding-top:145px}.hero h1{font-size:clamp(43px,6vw,62px)}.hero-art{height:420px}.browser-card{width:88%}.browser-content{min-height:300px}.mini-headline{font-size:36px}.note-top{right:-5px;top:30px}.note-bottom{left:-8px;bottom:22px}.section-block{padding-top:100px;padding-bottom:100px}.services-grid{gap:10px}.service-card{padding:22px 18px;min-height:410px}.about-layout{gap:45px}.contact-section{gap:35px}.contact-form-wrap{padding:23px}.nav{gap:20px}.nav-contact{padding:10px 12px}}
@media(max-width:700px){html{scroll-padding-top:80px}.section-wrap{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px);height:72px}.brand img{width:43px;height:43px}.brand-copy strong{font-size:15px}.menu-toggle{display:flex;width:43px;height:43px;flex-direction:column;justify-content:center;align-items:center;gap:6px;border:1px solid #dff19b50;background:#0d3b2b;border-radius:3px;color:var(--lime);cursor:pointer}.menu-toggle span{display:block;width:17px;height:1px;background:var(--lime);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{position:absolute;top:71px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;background:rgba(8,44,32,.97);border-bottom:1px solid #e8f59a24;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}.nav.open{opacity:1;visibility:visible;transform:translateY(0)}.nav>a{padding:14px 3px;border-bottom:1px solid #e8f59a15}.nav .nav-contact{margin-top:12px;padding:12px 14px;border:1px solid #e8f59a45;text-align:center}.hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:132px;padding-bottom:72px;min-height:unset}.hero-copy{padding-bottom:0}.eyebrow{font-size:9px;flex-wrap:wrap}.hero h1{font-size:clamp(43px,10vw,64px);line-height:1.06}.hero-description{font-size:13px;margin:23px 0}.hero-actions{gap:20px}.button{padding:14px 15px;font-size:11px;gap:15px}.hero-footnote{margin-top:28px}.hero-art{height:410px;margin-top:20px}.browser-card{width:min(330px,78%)}.browser-content{min-height:280px;padding:18px 20px}.mini-kicker{margin-top:37px}.mini-headline{font-size:36px}.orbit-one{width:350px}.orbit-two{width:300px}.floating-note{padding:10px 11px}.note-top{right:0;top:38px}.note-bottom{left:0;bottom:28px;font-size:7px}.art-caption{left:0;right:0;top:12px}.art-star{right:15px;bottom:50px}.scroll-cue{bottom:12px}.intro-band{grid-template-columns:1fr auto;gap:12px;padding:23px 0}.intro-band>p:first-child{grid-column:1}.intro-band>p:nth-child(2){grid-column:1;font-size:14px}.band-mark{grid-column:2;grid-row:1 / span 2;font-size:20px}.desktop-only{display:none}.section-block{padding-top:80px;padding-bottom:80px}.section-heading{display:block;margin-bottom:32px}.section-heading h2,.about-copy h2{font-size:clamp(38px,9vw,52px)}.section-aside{margin-top:20px;max-width:440px}.services-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:unset;padding:22px}.service-top{margin-bottom:20px}.service-card h3{font-size:18px}.service-card>p{max-width:500px}.service-card ul{grid-template-columns:1fr 1fr;gap:7px}.card-link{margin-top:5px}.method-step{grid-template-columns:30px 40px 1fr;gap:12px;padding:22px 0}.method-symbol{width:34px;height:34px}.method-step h3{font-size:14px}.method-step p{font-size:11px}.step-end{display:none}.portfolio-grid{grid-template-columns:1fr;gap:27px}.project-wide{grid-column:auto}.project-wide .project-visual,.project-visual{height:270px}.cafe-sun{width:205px;height:205px;right:7%;top:17%}.cafe-type{font-size:72px;left:9%;top:30%}.botanica-stamp{font-size:100px}.tech-orb{width:125px;height:125px;font-size:60px}.tech-title{font-size:30px}.project-meta h3{font-size:14px}.project-category{font-size:7px}.portfolio-note{align-items:flex-start;line-height:1.7}.about-section{padding:75px 0}.about-layout{grid-template-columns:1fr;gap:42px}.about-visual{height:320px;order:2}.about-copy{order:1}.about-circle.circle-one{width:270px}.about-circle.circle-two{width:205px}.about-monogram{font-size:85px}.contact-section{grid-template-columns:1fr;gap:38px;padding-top:80px;padding-bottom:80px}.contact-heading h2{font-size:clamp(42px,10vw,58px)}.contact-heading>p:not(.eyebrow){margin:20px 0 26px}.contact-decoration{display:none}.contact-form-wrap{padding:20px 17px}.form-top{align-items:flex-start;flex-direction:column;gap:9px}.field-row{grid-template-columns:1fr;gap:0}.field-row .field{margin-bottom:17px}.footer{padding-top:32px}.footer-main{grid-template-columns:1fr;gap:19px;padding-bottom:26px}.footer-email{justify-self:start}.footer-bottom{align-items:flex-start;flex-direction:column;gap:13px}.footer-bottom nav{gap:13px}.back-top{align-self:flex-end}.site-glow{opacity:.09}}
@media(max-width:380px){.section-wrap,.header-inner{width:calc(100% - 32px)}.hero h1{font-size:40px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.hero-art{height:360px}.browser-card{width:80%}.browser-content{min-height:250px}.mini-headline{font-size:32px}.note-top{top:28px}.floating-note{font-size:9px}.project-wide .project-visual,.project-visual{height:235px}.cafe-type{font-size:60px}.contact-form-wrap{padding:18px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.art-star{animation:none}}


/* ── Motion layer: raffinata, leggera e rispettosa delle preferenze utente ── */
:root{--scroll-progress:0;--pointer-x:0px;--pointer-y:0px}
body::before{content:"";position:fixed;z-index:200;top:0;left:0;height:2px;width:100%;transform:scaleX(var(--scroll-progress));transform-origin:left;background:linear-gradient(90deg,var(--lime),#b8d779,var(--lime));box-shadow:0 0 12px #e8f59a55;pointer-events:none}
.header-inner{transition:height .35s var(--ease)}.header.scrolled .header-inner{height:74px}
.brand img,.footer-brand img{transition:transform .65s var(--ease),filter .65s var(--ease)}
.brand:hover img,.footer-brand:hover img{transform:rotate(-5deg) scale(1.055);filter:drop-shadow(0 0 12px #e8f59a35)}
.brand img{animation:logo-arrive 1s .1s both}
.hero-copy .eyebrow{animation:fade-up .7s .08s both}.hero h1{animation:fade-up .85s .18s both}.hero-description{animation:fade-up .8s .32s both}.hero-actions{animation:fade-up .8s .43s both}.hero-footnote{animation:fade-up .8s .54s both}
.hero-art::before{content:"";position:absolute;z-index:0;width:min(92%,470px);aspect-ratio:1;background:url('assets/logo.png') center/contain no-repeat;opacity:.095;filter:saturate(.8);transform:translate(var(--pointer-x),var(--pointer-y)) scale(.96);animation:logo-breathe 8s ease-in-out infinite;pointer-events:none}
.art-orbit{animation:orbit-breathe 7s ease-in-out infinite}.orbit-two{animation:orbit-spin 48s linear infinite}.orbit-one{animation:orbit-breathe 9s ease-in-out infinite reverse}
.browser-card{animation:card-float 7s ease-in-out infinite;will-change:transform}.hero-art:hover .browser-card{animation-play-state:paused}
.note-top{animation:float-note 6s ease-in-out infinite}.note-bottom{animation:float-note 7s ease-in-out -2s infinite}.art-star{transform-origin:center;filter:drop-shadow(0 0 9px #e8f59a40)}
.status-dot{animation:dot-pulse 2.4s ease-in-out infinite}
.button-primary{position:relative;isolation:isolate;overflow:hidden}.button-primary::after{content:"";position:absolute;inset:-60% auto -60% -35%;width:22%;background:linear-gradient(90deg,transparent,#ffffff90,transparent);transform:translateX(-180%) skewX(-20deg);transition:transform .8s var(--ease);z-index:-1}.button-primary:hover::after,.button-primary:focus-visible::after{transform:translateX(720%) skewX(-20deg)}
.service-card{transform-style:preserve-3d}.service-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(260px circle at var(--shine-x,50%) var(--shine-y,50%),#e8f59a12,transparent 65%);opacity:0;transition:opacity .35s}.service-card:hover::after{opacity:1}.service-icon{transition:transform .4s var(--ease),background .4s,border-color .4s}.service-card:hover .service-icon{transform:translateY(-3px) rotate(-5deg);background:#e8f59a0d;border-color:#e8f59a80}
.method-step{transition:padding .35s var(--ease),background .35s,border-color .35s}.method-step:hover{padding-left:12px;background:linear-gradient(90deg,#e8f59a08,transparent);border-color:#e8f59a60}.method-symbol{transition:transform .45s var(--ease),background .3s,color .3s}.method-step:hover .method-symbol{transform:rotate(12deg) scale(1.08);background:var(--lime);color:var(--green-deep)}
.project-visual{isolation:isolate}.project-visual::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#ffffff30 48%,transparent 67%);transform:translateX(-130%);transition:transform 1s var(--ease)}.project-card:hover .project-visual::after{transform:translateX(130%)}.cafe-sun{animation:sun-drift 9s ease-in-out infinite}.botanica-leaf{transition:transform .7s var(--ease)}.project-card:hover .leaf-a{transform:rotate(-18deg) translateY(-5px)}.project-card:hover .leaf-b{transform:rotate(17deg) translateY(-5px)}.tech-orb{animation:orb-glow 5s ease-in-out infinite}
.about-visual{isolation:isolate}.about-logo-halo{position:absolute;width:245px;aspect-ratio:1;border:1px solid #1c503b25;border-radius:50%;box-shadow:0 0 0 18px #1c503b06,0 0 0 38px #1c503b04;animation:halo-breathe 7s ease-in-out infinite}.about-logo{position:relative;z-index:2;width:clamp(155px,20vw,225px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;box-shadow:0 18px 55px #173a2c20;transition:transform .6s var(--ease),box-shadow .6s var(--ease);animation:logo-arrive .9s .15s both}.about-visual:hover .about-logo{transform:scale(1.035) rotate(-2deg);box-shadow:0 25px 70px #173a2c2c}.about-monogram{opacity:.12;transform:translateY(34px);transition:opacity .5s}.about-visual:hover .about-monogram{opacity:.2}.about-sticker{animation:sticker-float 6s ease-in-out infinite}
.contact-form-wrap{transition:transform .45s var(--ease),border-color .45s,box-shadow .45s}.contact-form-wrap:focus-within{border-color:#e8f59a55;box-shadow:0 18px 70px #061c1430,inset 0 1px 0 #ffffff12}.footer-brand img{box-shadow:0 0 0 1px #e8f59a22}
.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease);filter:blur(3px)}.reveal.is-visible{filter:blur(0)}
@keyframes fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes logo-arrive{from{opacity:0;transform:scale(.88) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes logo-breathe{0%,100%{opacity:.07;transform:translate(var(--pointer-x),var(--pointer-y)) scale(.94) rotate(-3deg)}50%{opacity:.13;transform:translate(var(--pointer-x),var(--pointer-y)) scale(1.02) rotate(2deg)}}
@keyframes orbit-breathe{0%,100%{opacity:.55;scale:.98}50%{opacity:1;scale:1.035}}
@keyframes orbit-spin{to{rotate:360deg}}
@keyframes card-float{0%,100%{translate:0 0;rotate:-1.5deg}50%{translate:0 -8px;rotate:-2.5deg}}
@keyframes float-note{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes dot-pulse{0%,100%{box-shadow:0 0 0 0 #e8f59a00}50%{box-shadow:0 0 0 6px #e8f59a15}}
@keyframes sun-drift{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.025)}}
@keyframes orb-glow{0%,100%{box-shadow:0 0 0 1px #dff19b30,0 0 35px #dff19b0b}50%{box-shadow:0 0 0 1px #dff19b70,0 0 50px #dff19b25}}
@keyframes halo-breathe{0%,100%{transform:scale(.96);opacity:.55}50%{transform:scale(1.04);opacity:1}}
@keyframes sticker-float{0%,100%{translate:0 0;rotate:-2deg}50%{translate:0 -5px;rotate:1deg}}
@media(max-width:760px){.hero-art::before{width:min(90%,360px);opacity:.075}.about-logo{width:170px}.header.scrolled .header-inner{height:70px}.reveal{filter:none}}
@media(prefers-reduced-motion:reduce){body::before{display:none}.brand img,.footer-brand img,.about-logo,.about-logo-halo,.browser-card,.note-top,.note-bottom,.status-dot,.art-orbit,.cafe-sun,.tech-orb,.about-sticker{animation:none!important}.hero-art::before{animation:none;transform:none}.reveal{filter:none;transition:none}.button-primary::after{display:none}}
.services-grid>.reveal,.method-list>.reveal,.portfolio-grid>.reveal{transition-delay:var(--reveal-delay,0ms)}
.nav a[aria-current="location"]{color:var(--lime)}

/* ── MOTION UPDATE 02: animazioni più visibili, ma sempre eleganti ── */
:root{--motion-glow-x:50%;--motion-glow-y:50%}
.hero-art{perspective:1000px;isolation:isolate}
.hero-art::after{content:"";position:absolute;inset:8% 4%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse at 50% 48%,rgba(232,245,154,.13),transparent 62%);filter:blur(20px);animation:ambient-pulse 5.5s ease-in-out infinite;pointer-events:none}
.art-orbit{transform-origin:center;will-change:transform}
.orbit-one{border-color:rgba(232,245,154,.38)!important;box-shadow:0 0 24px rgba(232,245,154,.05),inset 0 0 22px rgba(232,245,154,.035)}
.orbit-two{border-color:rgba(232,245,154,.22)!important}
.orbit-two::after{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 18px 4px rgba(232,245,154,.42)}
.browser-card{transform:translate3d(var(--tilt-x,0px),var(--tilt-y,0px),0) rotate(var(--tilt-r,-2deg));transition:box-shadow .45s ease,border-color .45s ease;will-change:transform;box-shadow:0 30px 90px rgba(0,0,0,.2),0 0 0 1px rgba(232,245,154,.08)}
.hero-art:hover .browser-card{box-shadow:0 40px 100px rgba(0,0,0,.26),0 0 42px rgba(232,245,154,.09),inset 0 1px 0 rgba(255,255,255,.12);border-color:rgba(232,245,154,.28)}
.hero-art::before{opacity:.14!important;animation:logo-watermark 7s ease-in-out infinite!important}
.floating-note{animation:float-note 5s ease-in-out infinite, note-arrive .9s .3s both}
.note-top{animation-delay:0s,.18s}.note-bottom{animation-delay:-1.8s,.45s}
.hero-copy .eyebrow::after{content:"";height:1px;width:clamp(18px,4vw,52px);background:linear-gradient(90deg,var(--lime),transparent);transform-origin:left;animation:line-grow 1.1s .5s both}
.hero h1{animation:hero-title-in 1s .12s both}
.hero h1 .serif-accent{display:inline-block;animation:accent-arrive 1.2s .45s both}
.button{transition:transform .28s var(--ease),box-shadow .28s,border-color .28s,background .28s}
.button:hover{transform:translateY(-3px)}
.button-primary:hover{box-shadow:0 12px 32px rgba(232,245,154,.12)}
.service-card{transition:transform .45s var(--ease),border-color .4s,background .4s,box-shadow .4s}
.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 50px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.1);border-color:rgba(232,245,154,.34)}
.service-card .service-top .service-no{transition:color .3s,transform .4s}
.service-card:hover .service-top .service-no{color:var(--lime);transform:translateX(4px)}
.project-card{transition:transform .45s var(--ease)}
.project-card:hover{transform:translateY(-7px)}
.project-visual{overflow:hidden}
.project-visual>*{transition:filter .6s ease,transform .7s var(--ease)}
.project-card:hover .cafe-type{transform:translateY(-5px) scale(1.025)}
.project-card:hover .tech-orb{transform:scale(1.08) rotate(8deg);filter:brightness(1.12)}
.about-logo-halo{animation:halo-breathe 5s ease-in-out infinite, halo-rotate 28s linear infinite}
.about-logo{animation:logo-soft-arrive 1.1s .12s both;filter:drop-shadow(0 12px 18px rgba(23,58,44,.12))}
.about-visual::after{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(232,245,154,.3),transparent 67%);filter:blur(22px);animation:about-light 6s ease-in-out infinite;pointer-events:none}
.about-visual .about-logo{z-index:3}
.method-step:hover .method-no{color:var(--lime);transform:translateX(3px)}
.method-no{transition:transform .3s,color .3s}
.contact-form-wrap{position:relative;overflow:hidden}
.contact-form-wrap::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 20%,rgba(232,245,154,.055) 48%,transparent 72%);transform:translateX(-120%)}
.contact-form-wrap:focus-within::before{animation:form-sheen 1.2s ease both}
/* Le card rivelano anche una sfumatura luminosa durante l'ingresso */
.reveal{transition:opacity .85s var(--ease),transform .85s var(--ease),filter .85s var(--ease);transform:translate3d(0,30px,0) scale(.985)}
.reveal.is-visible{transform:translate3d(0,0,0) scale(1)}
.services-grid>.reveal,.method-list>.reveal,.portfolio-grid>.reveal{transition-delay:var(--reveal-delay,0ms)}
@keyframes ambient-pulse{0%,100%{opacity:.45;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}
@keyframes logo-watermark{0%,100%{opacity:.08;transform:translate(var(--pointer-x),var(--pointer-y)) scale(.92) rotate(-5deg)}50%{opacity:.17;transform:translate(var(--pointer-x),var(--pointer-y)) scale(1.04) rotate(2deg)}}
@keyframes line-grow{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes hero-title-in{from{opacity:0;transform:translateY(28px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes accent-arrive{from{opacity:0;transform:translateY(14px) skewY(3deg)}to{opacity:1;transform:translateY(0) skewY(0)}}
@keyframes note-arrive{from{opacity:0;scale:.88}to{opacity:1;scale:1}}
@keyframes halo-rotate{to{rotate:360deg}}
@keyframes about-light{0%,100%{opacity:.45;transform:scale(.82)}50%{opacity:.9;transform:scale(1.12)}}
@keyframes form-sheen{to{transform:translateX(120%)}}
@keyframes logo-soft-arrive{from{opacity:0;transform:scale(.9) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@media(max-width:760px){.hero-art::before{opacity:.12!important}.hero-art::after{inset:10% 0}.browser-card{animation-duration:8s}.about-visual::after{inset:8%}}
@media(prefers-reduced-motion:reduce){.hero-art::after,.hero-art::before,.orbit-two::after,.hero-copy .eyebrow::after,.hero h1,.hero h1 .serif-accent,.floating-note,.about-visual::after,.about-logo-halo,.about-logo,.contact-form-wrap::before{animation:none!important}.reveal{transform:none!important;filter:none!important}.service-card:hover,.project-card:hover,.button:hover{transform:none}.browser-card{transform:none!important}}

/* Responsive hardening: funziona anche con zoom browser 125–200% */
html{max-width:100%;overflow-x:clip;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:clip}
main,header,footer,section,article,aside,nav,form,.section-wrap,.header-inner,.hero-copy,.hero-art,.about-layout,.contact-section,.contact-form-wrap,.portfolio-grid,.services-grid{min-width:0;max-width:100%}
img,svg,video,canvas{max-width:100%;height:auto}
input,textarea,select{max-width:100%;min-width:0}
.hero h1,.section-heading h2,.about-copy h2,.contact-heading h2,.hero-description,.section-aside,.service-card h3,.service-card>p,.project-meta h3,.method-step p,.contact-form-wrap,.footer{overflow-wrap:anywhere}
.project-visual,.browser-card,.browser-content,.about-visual{max-width:100%}
@media(max-width:700px){
  .hero-art{width:100%;min-width:0;overflow:clip}
  .hero-art .floating-note{max-width:46%;overflow-wrap:anywhere}
  .note-top{right:2px}
  .note-bottom{left:2px}
  .art-orbit{max-width:95%;}
  .orbit-one{width:min(350px,90vw)}
  .orbit-two{width:min(300px,78vw)}
  .browser-card{width:min(330px,76%)}
  .section-heading{min-width:0}
  .portfolio-grid,.services-grid,.method-list{min-width:0}
  .project-meta{gap:12px;align-items:flex-start}
  .project-category{max-width:48%;overflow-wrap:anywhere}
  .project-meta h3{overflow-wrap:anywhere}
  .contact-form-wrap .field input,.contact-form-wrap .field textarea,.contact-form-wrap .field select{width:100%;box-sizing:border-box}.contact-form-wrap .consent{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:10px;width:100%;min-width:0}.contact-form-wrap .consent input[type="checkbox"]{display:block;width:16px!important;min-width:16px;max-width:16px;height:16px;margin:3px 0 0;flex:0 0 16px;padding:0}.contact-form-wrap .consent span{display:block;min-width:0;width:auto;max-width:100%;overflow-wrap:break-word;word-break:normal}
  .footer-bottom nav{flex-wrap:wrap}
}
@media(max-width:420px){
  .section-wrap,.header-inner{width:calc(100% - 28px)}
  .brand{min-width:0;gap:9px}
  .brand-copy{min-width:0}
  .brand-copy strong{font-size:14px}
  .brand-copy small{font-size:8px;letter-spacing:.13em}
  .hero h1{font-size:clamp(34px,9.5vw,40px);letter-spacing:-.06em}
  .hero-actions .button{max-width:100%;white-space:normal}
  .hero-art{height:340px}
  .browser-card{width:75%}
  .browser-content{padding:16px 15px;min-height:238px}
  .mini-headline{font-size:clamp(27px,8vw,32px)}
  .floating-note{font-size:8px;gap:7px;padding:8px}
  .note-icon{font-size:17px}
  .art-caption{font-size:7px}
  .project-wide .project-visual,.project-visual{height:220px}
  .cafe-type{font-size:clamp(48px,15vw,60px)}
  .botanica-stamp{font-size:clamp(70px,22vw,90px)}
  .tech-orb{width:105px;height:105px;font-size:48px}
  .tech-title{font-size:25px}
  .service-card ul{grid-template-columns:1fr}
  .contact-form-wrap{padding:16px 12px}
  .footer-bottom nav{gap:10px}
}
/* Movimento extra: ambientale, sottile e non invasivo */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .section-heading h2{transition:letter-spacing .5s ease}
  .section-heading:hover h2{letter-spacing:-.045em}
  .service-icon{transition:transform .5s cubic-bezier(.2,.8,.2,1),background .35s,box-shadow .35s}
  .service-card:hover .service-icon{transform:rotate(-8deg) scale(1.08);background:#e8f59a0d;box-shadow:0 0 24px #e8f59a12}
  .project-visual>*{transition:transform .7s cubic-bezier(.2,.8,.2,1)}
  .project-card:hover .cafe-sun{transform:scale(1.07) rotate(8deg)}
  .project-card:hover .botanica-leaf{transform:rotate(48deg) scale(1.05)}
  .project-card:hover .tech-orb{transform:scale(1.06);box-shadow:0 0 0 25px #d9efb012,0 0 0 48px #d9efb009}
  .contact-form-wrap:focus-within{box-shadow:0 25px 65px #061c1430,0 0 0 1px #e8f59a22}
  .footer-brand:hover{transform:translateY(-2px)}
}
@media(prefers-reduced-motion:reduce){.project-visual>*{transition:none!important}.section-heading h2{transition:none!important}}

/* FIX DEFINITIVO: consenso privacy leggibile su desktop e mobile.
   Regole globali intenzionali: non dipendono da una media query. */
#contact-form > label.consent {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 8px 0 20px !important;
  padding: 0 !important;
  text-align: left !important;
  animation: none !important;
  transform: none !important;
}
#contact-form > label.consent > input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  display: block !important;
  position: static !important;
  float: none !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
#contact-form > label.consent > span {
  display: block !important;
  flex: 1 1 0% !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
  animation: none !important;
  text-align: left !important;
}
#contact-form > label.consent a { display: inline !important; white-space: normal !important; }


/* M&C Web Studio — professional interface refinement */
:root{
  --green:#124c36;--green-deep:#092c21;--green-mid:#1c6347;
  --lime:#dce9a0;--cream:#f4f2e8;--paper:#f8f8f2;--ink:#173a2c;
  --muted:#b8c8bd;--line:rgba(220,233,160,.17);
  --glass:rgba(245,248,235,.045);
  --ease:cubic-bezier(.22,.68,.2,1);
}
body{font-size:15px;line-height:1.75;letter-spacing:-.008em}
.section-wrap{width:min(1160px,calc(100% - 72px))}
.header{backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);background:rgba(9,44,33,.84);border-bottom:1px solid rgba(220,233,160,.12)}
.brand-copy strong{font-size:16px;letter-spacing:-.045em}
.brand-copy small{letter-spacing:.13em}
.nav a{transition:color .25s ease,opacity .25s ease}
.nav a:not(.nav-contact):hover{color:var(--lime)}
.nav-contact,.button-primary{box-shadow:0 6px 20px rgba(0,0,0,.12);transition:transform .3s var(--ease),box-shadow .3s ease,background .3s ease}
.button-primary:hover,.nav-contact:hover{box-shadow:0 10px 28px rgba(0,0,0,.2)}
.hero{padding-top:clamp(100px,12vw,150px);padding-bottom:clamp(80px,10vw,128px)}
.hero h1{max-width:760px;font-size:clamp(44px,6.1vw,78px);line-height:1.035;letter-spacing:-.072em}
.serif-accent{letter-spacing:-.055em}
.hero-description{max-width:490px;font-size:15px;line-height:1.9;color:#c1d0c5}
.eyebrow,.section-kicker,.section-label{letter-spacing:.16em}
.section-heading{margin-bottom:38px}
.section-heading h2,.about-copy h2,.contact-heading h2{letter-spacing:-.07em;line-height:1.07}
.intro-band{padding-top:34px;padding-bottom:34px}
.services-grid{gap:16px}
.service-card{padding:clamp(24px,3vw,34px);border-radius:4px;background:linear-gradient(145deg,rgba(245,248,235,.065),rgba(245,248,235,.018));border-color:rgba(220,233,160,.16);box-shadow:0 8px 32px rgba(0,0,0,.045)}
.service-card h3{font-size:19px;letter-spacing:-.045em}
.service-card>p{font-size:13px;line-height:1.85}
.method-section{background:linear-gradient(180deg,#0d3b2b 0%,#0b3527 100%)}
.method-list{border-top-color:rgba(220,233,160,.2)}
.method-step{padding-top:29px;padding-bottom:29px;border-bottom-color:rgba(220,233,160,.14)}
.method-step h3{font-size:16px;letter-spacing:-.025em}
.method-step p{font-size:13px;line-height:1.8}
.glass-panel{border-color:rgba(220,233,160,.17);box-shadow:0 18px 60px rgba(0,0,0,.08),inset 0 1px rgba(255,255,255,.035)}
input,textarea,select{border-radius:3px}
#contact-form input,#contact-form textarea,#contact-form select{transition:border-color .25s ease,background .25s ease,box-shadow .25s ease}
#contact-form input:focus,#contact-form textarea:focus,#contact-form select:focus{border-color:rgba(220,233,160,.72);box-shadow:0 0 0 3px rgba(220,233,160,.075);outline:none}
.footer{border-top:1px solid rgba(220,233,160,.14)}
.footer-bottom{font-size:10px;letter-spacing:.025em}
@media(max-width:760px){
 .section-wrap{width:calc(100% - 40px)}
 .hero{padding-top:104px;padding-bottom:76px}
 .hero h1{font-size:clamp(40px,9vw,60px);line-height:1.04}
 .section-heading{margin-bottom:26px}
 .services-grid{gap:12px}
 .service-card{padding:24px}
 .method-step{gap:14px;padding-top:23px;padding-bottom:23px}
}
@media(max-width:420px){
 .section-wrap{width:calc(100% - 32px)}
 .hero h1{font-size:clamp(37px,10vw,46px)}
 .hero-actions{gap:18px}
 .method-step{grid-template-columns:28px 38px minmax(0,1fr)!important}
 .method-step .step-end{display:none}
}


/* ── ART DIRECTION 2026: editorial, premium, deliberate ── */
:root{
  --green:#103d2c;
  --green-deep:#08291f;
  --green-mid:#1c5b41;
  --lime:#dfeaa6;
  --cream:#f3f0e4;
  --paper:#faf9f3;
  --ink:#142f24;
  --muted:#aabbb0;
  --line:rgba(223,234,166,.2);
  --glass:rgba(247,248,238,.045);
  --ease:cubic-bezier(.2,.75,.2,1);
}
body{font-size:15px;line-height:1.78;letter-spacing:-.012em;background-color:var(--green-deep)}
.section-wrap{width:min(1200px,calc(100% - 88px))}
.header-inner{width:min(1320px,calc(100% - 88px));height:82px}
.header.scrolled{background:rgba(8,41,31,.92);border-bottom-color:rgba(223,234,166,.18);box-shadow:0 12px 36px rgba(0,0,0,.16)}
.brand img{width:46px;height:46px}
.brand-copy strong{font-size:16px;letter-spacing:-.065em}
.nav{gap:clamp(20px,3vw,38px);font-size:12px}
.nav>a:not(.nav-contact){position:relative;padding-block:8px}
.nav>a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:1px;background:var(--lime);transition:right .35s var(--ease)}
.nav>a:not(.nav-contact):hover::after{right:0}
.nav-contact{border-radius:2px;padding:12px 17px;background:rgba(223,234,166,.035)}
.hero{min-height:min(850px,100svh);padding-top:clamp(130px,15vw,180px);padding-bottom:100px;align-items:center;gap:clamp(35px,7vw,100px)}
.hero-copy{max-width:640px}
.hero h1{font-size:clamp(48px,6.4vw,88px);line-height:.99;letter-spacing:-.082em;max-width:760px;text-wrap:balance}
.serif-accent{color:var(--lime);font-weight:500;letter-spacing:-.075em}
.eyebrow{font-size:10px;letter-spacing:.17em}
.status-dot{box-shadow:0 0 0 4px rgba(223,234,166,.08),0 0 16px rgba(223,234,166,.4)}
.hero-description{max-width:480px;color:#c1cec3;font-size:15px;line-height:1.9}
.button{border-radius:2px;min-height:49px}
.button-primary{background:var(--lime);color:var(--green-deep);font-weight:700;box-shadow:0 8px 25px rgba(0,0,0,.12)}
.button-primary:hover{background:#edf5c5;box-shadow:0 12px 35px rgba(0,0,0,.22)}
.text-link{font-size:12px}
.hero-footnote{color:#b5c6b8;font-size:11px}
.hero-art{max-width:530px}
.browser-card{border-radius:5px}
.glass-panel{border-radius:4px;border-color:rgba(223,234,166,.15);background:linear-gradient(145deg,rgba(248,249,240,.075),rgba(248,249,240,.025));box-shadow:0 24px 80px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.045)}
.floating-note{border-radius:3px}
.intro-band{padding-block:35px;border-top:1px solid rgba(223,234,166,.18);border-bottom:1px solid rgba(223,234,166,.18);gap:30px}
.intro-band>p:first-child{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--lime)}
.intro-band>p:nth-child(2){font-size:14px;line-height:1.8;color:#d8e0d5}
.band-mark{opacity:.75}
.section-block{padding-block:clamp(84px,10vw,132px)}
.section-heading{align-items:end;margin-bottom:48px;gap:50px}
.section-heading h2,.about-copy h2,.contact-heading h2{font-size:clamp(38px,5vw,64px);letter-spacing:-.075em;line-height:1.04;text-wrap:balance}
.section-aside{max-width:350px;color:#bdcbbf;font-size:13px;line-height:1.9}
.services-grid{gap:18px;align-items:stretch}
.service-card{position:relative;display:flex;flex-direction:column;min-height:365px;padding:clamp(24px,2.8vw,36px);border:1px solid rgba(223,234,166,.14);border-radius:4px;background:linear-gradient(155deg,rgba(248,249,240,.065),rgba(248,249,240,.018) 65%);box-shadow:0 12px 40px rgba(0,0,0,.055);overflow:hidden;transition:transform .6s var(--ease),border-color .4s ease,background .4s ease,box-shadow .6s var(--ease)}
.service-card::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(180deg,transparent,var(--lime),transparent);transform:scaleY(0);transform-origin:top;transition:transform .55s var(--ease)}
.service-card:hover{transform:translateY(-7px);border-color:rgba(223,234,166,.36);background:linear-gradient(155deg,rgba(248,249,240,.09),rgba(248,249,240,.025));box-shadow:0 26px 60px rgba(0,0,0,.15)}
.service-card:hover::before{transform:scaleY(1)}
.service-number{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--lime)}
.service-icon{transition:transform .55s var(--ease),color .35s ease}
.service-card:hover .service-icon{transform:translateY(-3px) rotate(-5deg);color:var(--lime)}
.service-card h3{max-width:270px;margin-top:32px;font-size:20px;line-height:1.3;letter-spacing:-.05em}
.service-card>p{font-size:13px;line-height:1.9;color:#bdcbbf}
.service-card ul{padding-top:16px;margin-top:auto;padding-bottom:18px}
.service-card li{font-size:11px;color:#d4dfd4;padding-block:5px;border-bottom:1px solid rgba(223,234,166,.09)}
.card-link{padding-top:17px;border-top:1px solid rgba(223,234,166,.16);font-size:11px;letter-spacing:.03em}
.card-link span{display:inline-block;transition:transform .3s var(--ease)}
.card-link:hover span{transform:translate(4px,-3px)}
.method-section{position:relative;background:linear-gradient(180deg,#0c3527,#0a3023 70%,#0b3325);border-top:1px solid rgba(223,234,166,.1);border-bottom:1px solid rgba(223,234,166,.1)}
.method-list{max-width:970px;margin-inline:auto;border-top:1px solid rgba(223,234,166,.2)}
.method-step{position:relative;grid-template-columns:44px 58px minmax(0,1fr) 110px;gap:20px;padding:28px 16px;border-bottom:1px solid rgba(223,234,166,.14);transition:background .35s ease,padding .4s var(--ease)}
.method-step:hover{padding-left:24px;padding-right:24px;background:linear-gradient(90deg,rgba(223,234,166,.045),transparent)}
.method-no{font-family:var(--mono);font-size:11px;color:var(--lime)}
.method-symbol{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(223,234,166,.23);border-radius:50%;color:var(--lime);font-size:18px;transition:transform .5s var(--ease),background .4s ease,border-color .4s ease}
.method-step:hover .method-symbol{transform:rotate(45deg);background:rgba(223,234,166,.09);border-color:rgba(223,234,166,.65)}
.method-step h3{font-size:16px;letter-spacing:-.035em}
.method-step p{max-width:580px;font-size:13px;line-height:1.85;color:#b7c8bb}
.step-end{font-family:var(--mono);font-size:9px;letter-spacing:.13em;color:#a8bda9;text-align:right}
.about-section{background:var(--paper);color:var(--ink);position:relative;overflow:hidden}
.about-section .section-wrap{padding-block:clamp(90px,11vw,145px)}
.about-copy h2{color:var(--ink)}
.about-copy .serif-accent{color:#426b4f}
.about-copy .eyebrow{color:#426b4f}
.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;color:#52675a}
.about-copy .about-lead{font-size:17px!important;color:#1d3b2b!important;font-weight:600;line-height:1.7!important}
.about-link{color:#24563b;border-bottom-color:rgba(36,86,59,.28)}
.about-visual{min-height:430px}
.about-circle{border-color:rgba(18,76,54,.14)}
.about-monogram{color:#16472f}
.about-vertical{color:#416c50}
.about-sticker{background:rgba(255,255,249,.8);color:#173a2c;border-color:rgba(18,76,54,.14);box-shadow:0 20px 60px rgba(16,55,35,.09)}
.contact-section{position:relative}
.contact-heading>p:not(.eyebrow){max-width:440px;font-size:14px;line-height:1.9;color:#bdcbbf}
.contact-email-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:#a9bcae}
.email-link{display:inline-flex;gap:10px;align-items:center;color:var(--lime);font-size:13px;border-bottom:1px solid rgba(223,234,166,.28);padding-bottom:8px}
.email-link span{transition:transform .3s var(--ease)}
.email-link:hover span{transform:translate(3px,-3px)}
.contact-form-wrap{padding:clamp(22px,3vw,38px);border-radius:4px;background:linear-gradient(145deg,rgba(248,249,240,.07),rgba(248,249,240,.025))}
.form-top{padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid rgba(223,234,166,.16)}
.form-top>span:first-child{font-family:var(--mono);letter-spacing:.13em;font-size:9px}
.form-indicator{font-size:9px;letter-spacing:.06em}
.field label{font-size:11px;color:#d6e0d5;margin-bottom:9px}
.field input,.field textarea,.field select,#contact-form input:not([type=hidden]):not([type=checkbox]),#contact-form textarea,#contact-form select{border-radius:2px;background:rgba(2,22,15,.18);border:1px solid rgba(223,234,166,.18);padding:14px 13px;color:var(--cream);font-size:13px}
.field input::placeholder,.field textarea::placeholder{color:#809789}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(223,234,166,.72);box-shadow:0 0 0 3px rgba(223,234,166,.07);outline:none}
.footer{border-top:1px solid rgba(223,234,166,.14)}
.footer-main{padding-block:48px}
.footer-bottom{border-top-color:rgba(223,234,166,.13);font-family:var(--mono);font-size:9px;letter-spacing:.035em}
@media(max-width:900px){
 .section-wrap{width:calc(100% - 52px)}
 .header-inner{width:calc(100% - 52px)}
 .hero{min-height:auto;padding-top:130px;padding-bottom:90px}
 .hero h1{font-size:clamp(45px,7.5vw,68px)}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-card:last-child{grid-column:1/-1;min-height:300px}
 .about-visual{min-height:340px}
}
@media(max-width:600px){
 .section-wrap{width:calc(100% - 36px)}
 .header-inner{width:calc(100% - 36px);height:72px}
 .brand img{width:40px;height:40px}
 .hero{padding-top:112px;padding-bottom:75px;gap:40px}
 .hero h1{font-size:clamp(40px,10.5vw,57px);line-height:1.02}
 .hero-description{font-size:14px;line-height:1.85}
 .hero-actions{align-items:flex-start;flex-direction:column;gap:18px}
 .hero-art{width:100%;max-width:440px;margin-inline:auto}
 .intro-band{padding-block:26px;gap:10px}
 .intro-band>p:nth-child(2){font-size:12px}
 .section-block{padding-block:76px}
 .section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px}
 .section-heading h2,.about-copy h2,.contact-heading h2{font-size:clamp(36px,9vw,48px)}
 .section-aside{font-size:12px}
 .services-grid{grid-template-columns:minmax(0,1fr)}
 .service-card,.service-card:last-child{grid-column:auto;min-height:0;padding:25px}
 .service-card h3{margin-top:23px}
 .service-card ul{margin-top:14px}
 .method-step{grid-template-columns:28px 40px minmax(0,1fr);gap:12px;padding:23px 6px}
 .method-step:hover{padding-left:10px;padding-right:10px}
 .method-symbol{width:36px;height:36px;font-size:15px}
 .method-step h3{font-size:14px}
 .method-step p{font-size:12px}
 .step-end{display:none}
 .about-section .section-wrap{padding-block:75px}
 .about-layout{gap:38px}
 .about-visual{min-height:260px}
 .about-copy>p:not(.eyebrow){font-size:13px}
 .about-copy .about-lead{font-size:15px!important}
 .contact-form-wrap{padding:22px 18px}
 .form-top{align-items:flex-start;gap:12px}
 .form-indicator{font-size:8px}
 .field-row{grid-template-columns:minmax(0,1fr)}
 .email-link{font-size:11px;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
 .service-card,.method-step,.method-symbol,.card-link span,.nav>a::after,.email-link span{transition:none!important}
 .service-card:hover,.method-step:hover{transform:none!important}
}


/* High-impact art direction pass: intentionally targets the live page's actual classes. */
:root{--mc-ink:#092a20;--mc-forest:#103d2c;--mc-lime:#dfeaa6;--mc-paper:#f7f5eb;--mc-motion:cubic-bezier(.16,1,.3,1)}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{background:#092a20;color:#f7f5eb}
.header{background:rgba(8,35,26,.78);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);border-bottom:1px solid rgba(223,234,166,.13);transition:background .4s ease,box-shadow .4s ease}
.header.scrolled{background:rgba(8,35,26,.96);box-shadow:0 12px 40px rgba(0,0,0,.22)}
.header-inner{max-width:1320px}
.brand-copy strong{letter-spacing:-.055em}
.nav a{transition:color .25s ease,opacity .25s ease}
.nav a[aria-current=location]:not(.nav-contact){color:var(--mc-lime)}
.nav a[aria-current=location]:not(.nav-contact)::after{transform:scaleX(1)}
.nav-contact{border:1px solid rgba(223,234,166,.3);transition:background .3s ease,border-color .3s ease,transform .3s var(--mc-motion)}
.nav-contact:hover{background:rgba(223,234,166,.12);border-color:rgba(223,234,166,.7);transform:translateY(-2px)}
.hero{position:relative;isolation:isolate;min-height:min(850px,100svh);padding-top:clamp(125px,14vw,175px);padding-bottom:clamp(75px,9vw,115px)}
.hero::before{content:"";position:absolute;z-index:-1;inset:12% -15% auto auto;width:min(62vw,850px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(70,130,83,.16),rgba(16,61,44,.04) 48%,transparent 70%);pointer-events:none;animation:mc-ambient-breathe 11s ease-in-out infinite}
.hero-copy{max-width:670px}
.hero h1{font-size:clamp(48px,6.7vw,88px);line-height:.99;letter-spacing:-.078em;text-wrap:balance}
.serif-accent{color:var(--mc-lime);text-shadow:0 0 45px rgba(223,234,166,.08)}
.hero-description{max-width:490px;font-size:15px;line-height:1.9;color:#c3d0c5}
.eyebrow{letter-spacing:.17em}
.status-dot{box-shadow:0 0 0 4px rgba(223,234,166,.08),0 0 18px rgba(223,234,166,.38)}
.button{transition:transform .35s var(--mc-motion),box-shadow .35s ease,background .35s ease,border-color .35s ease}
.button-primary{box-shadow:0 8px 28px rgba(0,0,0,.16);position:relative;isolation:isolate;overflow:hidden}
.button-primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.38) 48%,transparent 72%);transform:translateX(-120%);transition:transform .8s var(--mc-motion)}
.button-primary:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(0,0,0,.23)}
.button-primary:hover::after{transform:translateX(120%)}
.text-link{transition:color .3s ease}
.text-link:hover{color:var(--mc-lime)}
.hero-art{perspective:1000px}
.browser-card{transform:translate3d(var(--tilt-x,0),var(--tilt-y,0),0) rotate(var(--tilt-r,-2deg));transition:transform .7s var(--mc-motion),box-shadow .7s ease;box-shadow:0 35px 90px rgba(0,0,0,.22)}
.glass-panel{border:1px solid rgba(223,234,166,.18);background:linear-gradient(145deg,rgba(248,249,240,.085),rgba(248,249,240,.025));box-shadow:inset 0 1px rgba(255,255,255,.06),0 24px 70px rgba(0,0,0,.1)}
.floating-note{box-shadow:0 18px 50px rgba(0,0,0,.2);transition:transform .5s var(--mc-motion)}
.intro-band{border-block:1px solid rgba(223,234,166,.17)}
.band-mark{color:var(--mc-lime)}
.section-block{padding-block:clamp(82px,10vw,132px)}
.section-heading{margin-bottom:clamp(28px,4vw,48px)}
.section-heading h2,.about-copy h2,.contact-heading h2{font-size:clamp(38px,5.4vw,68px);line-height:1.03;letter-spacing:-.075em;text-wrap:balance}
.section-aside{max-width:370px;line-height:1.9;color:#b8c8bc}
.services-grid{gap:16px}
.service-card{position:relative;isolation:isolate;overflow:hidden;min-height:350px;padding:clamp(23px,3vw,36px);border:1px solid rgba(223,234,166,.15);border-radius:4px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012));transition:transform .65s var(--mc-motion),border-color .45s ease,background .45s ease,box-shadow .65s var(--mc-motion)}
.service-card::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(300px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(223,234,166,.11),transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.service-card::after{content:"";position:absolute;left:0;top:0;height:1px;width:100%;background:linear-gradient(90deg,transparent,var(--mc-lime),transparent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--mc-motion)}
.service-card:hover{transform:translateY(-7px);border-color:rgba(223,234,166,.38);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.02));box-shadow:0 26px 65px rgba(0,0,0,.19)}
.service-card:hover::before{opacity:1}
.service-card:hover::after{transform:scaleX(1)}
.service-number{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--mc-lime)}
.service-icon{transition:transform .55s var(--mc-motion),filter .45s ease}
.service-card:hover .service-icon{transform:translateY(-4px) rotate(-6deg);filter:drop-shadow(0 0 12px rgba(223,234,166,.3))}
.service-card h3{font-size:clamp(18px,1.6vw,21px);line-height:1.3;letter-spacing:-.045em}
.service-card p{font-size:13px;line-height:1.9;color:#bdcbbf}
.card-link{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid rgba(223,234,166,.15);font-size:11px}
.card-link::after{content:"↗";font-size:15px;transition:transform .35s var(--mc-motion),color .35s ease}
.card-link:hover::after{transform:translate(3px,-3px);color:var(--mc-lime)}
.method-section{position:relative;overflow:hidden;background:linear-gradient(145deg,#0c3828,#092b20 75%);border-block:1px solid rgba(223,234,166,.12)}
.method-list{position:relative;border-top:1px solid rgba(223,234,166,.2)}
.method-list::before{content:"";position:absolute;z-index:0;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--mc-lime) 10%,var(--mc-lime) 90%,transparent);transform:scaleY(0);transform-origin:top;animation:mc-timeline-grow 2s .3s var(--mc-motion) forwards}
.method-step{position:relative;border-bottom:1px solid rgba(223,234,166,.14);transition:background .4s ease,padding .45s var(--mc-motion)}
.method-step::before{content:"";position:absolute;left:-4px;top:32px;width:8px;height:8px;border-radius:50%;background:var(--mc-lime);box-shadow:0 0 0 4px rgba(223,234,166,.08),0 0 16px rgba(223,234,166,.38);opacity:0;transform:scale(.2);transition:opacity .3s ease,transform .5s var(--mc-motion)}
.method-step.is-visible::before{opacity:1;transform:scale(1);animation:mc-timeline-dot .7s var(--mc-motion) both}
.method-step:hover{background:linear-gradient(90deg,rgba(223,234,166,.05),transparent);padding-left:20px}
.method-step:hover::before{opacity:1;box-shadow:0 0 0 6px rgba(223,234,166,.1),0 0 22px rgba(223,234,166,.65)}
.method-no{color:var(--mc-lime);transition:transform .4s var(--mc-motion)}
.method-step:hover .method-no{transform:translateX(4px)}
.method-symbol{border:1px solid rgba(223,234,166,.24);transition:transform .55s var(--mc-motion),background .4s ease,border-color .4s ease}
.method-step:hover .method-symbol{transform:rotate(45deg);background:rgba(223,234,166,.09);border-color:rgba(223,234,166,.7)}
.step-end{font-family:var(--mono);letter-spacing:.12em;font-size:9px}
.about-section{background:var(--mc-paper);color:#153a29}
.about-section .serif-accent{color:#49704f;text-shadow:none}
.about-section .eyebrow{color:#527455}
.about-copy>p:not(.eyebrow){color:#52665a;line-height:1.95}
.about-lead{font-size:clamp(16px,1.6vw,19px);line-height:1.75}
.about-circle{transition:transform 1s var(--mc-motion),border-color .6s ease}
.about-visual:hover .circle-one{transform:scale(1.04)}
.about-visual:hover .circle-two{transform:scale(.96)}
.about-sticker{box-shadow:0 18px 55px rgba(16,55,35,.1);transition:transform .5s var(--mc-motion)}
.about-visual:hover .about-sticker{transform:translateY(-5px) rotate(-2deg)}
.contact-form-wrap{border:1px solid rgba(223,234,166,.16);border-radius:4px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018));box-shadow:0 20px 70px rgba(0,0,0,.08);transition:border-color .4s ease,box-shadow .5s ease}
.contact-form-wrap:hover{border-color:rgba(223,234,166,.3);box-shadow:0 26px 80px rgba(0,0,0,.16)}
.field input,.field textarea,.field select{transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:rgba(223,234,166,.75);box-shadow:0 0 0 3px rgba(223,234,166,.08);background:rgba(0,0,0,.2)}
.consent{display:flex;align-items:flex-start;gap:12px}
.consent input[type=checkbox]{flex:0 0 auto;margin-top:4px}
.consent span{flex:1;min-width:0;line-height:1.6}
.footer{border-top:1px solid rgba(223,234,166,.15)}
.back-top{transition:transform .35s var(--mc-motion),background .3s ease}
.back-top:hover{transform:translateY(-4px);background:rgba(223,234,166,.1)}
@keyframes mc-ambient-breathe{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1.08);opacity:1}}
@keyframes mc-timeline-grow{0%{transform:scaleY(.02);opacity:.2}100%{transform:scaleY(1);opacity:.85}}
@keyframes mc-timeline-dot{0%{transform:scale(.2);box-shadow:0 0 0 0 rgba(223,234,166,0)}70%{transform:scale(1.4);box-shadow:0 0 0 7px rgba(223,234,166,.1)}100%{transform:scale(1);box-shadow:0 0 0 4px rgba(223,234,166,.08)}}
@media(max-width:760px){
 .section-wrap{width:calc(100% - 40px)}
 .hero{min-height:auto;padding-top:112px;padding-bottom:76px}
 .hero h1{font-size:clamp(40px,9.5vw,60px)}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-card{min-height:310px;padding:23px}
 .method-step{grid-template-columns:28px 40px minmax(0,1fr);gap:12px;padding:22px 8px}
 .step-end{display:none}
 .about-section .section-wrap{padding-block:76px}
}
@media(max-width:520px){
 .section-wrap{width:calc(100% - 32px)}
 .hero h1{font-size:clamp(37px,10.5vw,48px)}
 .hero-actions{align-items:flex-start;gap:16px}
 .services-grid{grid-template-columns:minmax(0,1fr)}
 .service-card{min-height:0;padding:24px}
 .method-step{grid-template-columns:25px 36px minmax(0,1fr);gap:10px}
 .method-symbol{width:34px;height:34px}
 .consent{gap:10px}
 .contact-form-wrap{padding:22px 17px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .method-list::before{transform:scaleY(1);opacity:.65}
 .method-step::before{opacity:1;transform:none}
}


/* COLOR DIRECTION — richer, playful accents while retaining the forest-green identity */
:root{--orb-mint:#8fe3c0;--orb-lime:#e5f49a;--orb-coral:#ff9d87;--orb-blue:#91c9ff;--orb-lilac:#c9adff;--orb-gold:#ffd17a}
.color-orbs{position:absolute;inset:0;z-index:0;overflow:clip;pointer-events:none;contain:paint}
.color-orb{position:absolute;display:block;width:clamp(100px,16vw,240px);aspect-ratio:1;border-radius:50%;opacity:.22;filter:blur(1px);mix-blend-mode:screen;will-change:transform}
.orb-mint{top:9%;left:-5%;background:radial-gradient(circle at 35% 35%,#c2ffe9 0%,#54d9ac 22%,rgba(84,217,172,.06) 68%,transparent 72%);animation:mc-orb-float-a 17s ease-in-out infinite}
.orb-lime{top:24%;right:3%;width:clamp(130px,20vw,290px);background:radial-gradient(circle at 35% 35%,#f5ffc4 0%,#d5ef77 24%,rgba(213,239,119,.04) 68%,transparent 72%);animation:mc-orb-float-b 19s ease-in-out infinite}
.orb-coral{top:48%;left:22%;width:clamp(90px,12vw,180px);background:radial-gradient(circle,#ffb39b 0%,#ff8d79 28%,rgba(255,141,121,.02) 70%,transparent 74%);opacity:.12;animation:mc-orb-float-c 23s ease-in-out infinite}
.orb-blue{top:66%;right:-4%;width:clamp(140px,22vw,320px);background:radial-gradient(circle at 35% 35%,#d2eaff 0%,#80bfff 25%,rgba(128,191,255,.03) 69%,transparent 74%);opacity:.14;animation:mc-orb-float-a 21s 2s ease-in-out infinite reverse}
.orb-lilac{top:100%;left:4%;width:clamp(110px,17vw,250px);background:radial-gradient(circle,#e2d2ff 0%,#b99cff 28%,rgba(185,156,255,.02) 70%,transparent 75%);opacity:.12;animation:mc-orb-float-b 24s ease-in-out infinite}
.orb-gold{top:138%;right:24%;width:clamp(100px,14vw,210px);background:radial-gradient(circle,#ffe8b3 0%,#ffc96e 27%,rgba(255,201,110,.02) 70%,transparent 74%);opacity:.12;animation:mc-orb-float-c 20s 1s ease-in-out infinite}
.hero,.intro-band,.section-block,.method-section,.about-section,.contact-section,.footer{position:relative;isolation:isolate}
.color-orbs{z-index:-1}
.hero-art{position:relative}
.art-orbit{border-color:rgba(143,227,192,.28)!important;box-shadow:0 0 45px rgba(143,227,192,.04)}
.orbit-two{border-color:rgba(201,173,255,.25)!important}
.art-star{color:var(--orb-lime)!important;text-shadow:0 0 25px rgba(229,244,154,.35)}
.status-dot{background:var(--orb-mint)!important}
.serif-accent{background:linear-gradient(105deg,#f0f6bf 0%,#9ee8c5 38%,#b7d9ff 70%,#d6bcff 100%);background-clip:text;-webkit-background-clip:text;color:transparent!important}
.band-mark span{color:var(--orb-coral)}
.service-card:nth-child(1) .service-icon{color:var(--orb-mint)}
.service-card:nth-child(2) .service-icon{color:var(--orb-lilac)}
.service-card:nth-child(3) .service-icon{color:var(--orb-coral)}
.service-card:nth-child(1):hover{border-color:rgba(143,227,192,.55)}
.service-card:nth-child(2):hover{border-color:rgba(201,173,255,.55)}
.service-card:nth-child(3):hover{border-color:rgba(255,157,135,.55)}
.service-card:nth-child(1)::after{background:linear-gradient(90deg,transparent,var(--orb-mint),transparent)}
.service-card:nth-child(2)::after{background:linear-gradient(90deg,transparent,var(--orb-lilac),transparent)}
.service-card:nth-child(3)::after{background:linear-gradient(90deg,transparent,var(--orb-coral),transparent)}
.method-step:nth-child(1) .method-symbol{color:var(--orb-mint)}
.method-step:nth-child(2) .method-symbol{color:var(--orb-blue)}
.method-step:nth-child(3) .method-symbol{color:var(--orb-lilac)}
.method-step:nth-child(4) .method-symbol{color:var(--orb-coral)}
.about-circle.circle-one{border-color:rgba(84,217,172,.55)!important;box-shadow:0 0 55px rgba(84,217,172,.07)}
.about-circle.circle-two{border-color:rgba(185,156,255,.5)!important}
.about-logo-halo{background:radial-gradient(circle,rgba(143,227,192,.18),rgba(201,173,255,.08) 44%,transparent 70%)!important}
.contact-decoration span{color:var(--orb-coral)}
.form-indicator i{background:var(--orb-mint)!important}
.button-primary{background:linear-gradient(110deg,#e5f49a 0%,#a7edc9 50%,#c7dcff 100%)!important;color:#092a20!important}
@keyframes mc-orb-float-a{0%,100%{transform:translate3d(0,0,0) scale(1)}33%{transform:translate3d(30px,-28px,0) scale(1.08)}66%{transform:translate3d(-18px,22px,0) scale(.94)}}
@keyframes mc-orb-float-b{0%,100%{transform:translate3d(0,0,0) scale(1)}40%{transform:translate3d(-35px,25px,0) scale(.92)}75%{transform:translate3d(20px,-18px,0) scale(1.07)}}
@keyframes mc-orb-float-c{0%,100%{transform:translate3d(0,0,0) scale(.95)}50%{transform:translate3d(24px,35px,0) scale(1.12)}}
@media(max-width:600px){.color-orb{opacity:.13}.orb-coral{opacity:.08}.orb-blue{opacity:.09}.orb-lilac,.orb-gold{opacity:.08}}
@media(prefers-reduced-motion:reduce){.color-orb{animation:none!important;transform:none!important}}


/* FINAL SECTIONS — richer storytelling, clearer layout and stronger visual finish */
.method-section{overflow:hidden;background:radial-gradient(ellipse at 8% 18%,rgba(143,227,192,.10),transparent 34%),radial-gradient(ellipse at 94% 78%,rgba(201,173,255,.12),transparent 32%),linear-gradient(135deg,#0b3023 0%,#0b3828 48%,#102f2d 100%)}
.method-section::before,.method-section::after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(143,227,192,.14);border-radius:50%;width:clamp(260px,42vw,600px);aspect-ratio:1;right:-15%;top:8%;box-shadow:0 0 0 28px rgba(143,227,192,.018),0 0 0 60px rgba(143,227,192,.014)}
.method-section::after{width:clamp(180px,26vw,360px);right:auto;left:-12%;top:auto;bottom:-18%;border-color:rgba(201,173,255,.15);box-shadow:0 0 0 24px rgba(201,173,255,.02),0 0 0 52px rgba(201,173,255,.014)}
.method-section .section-wrap{position:relative;z-index:1}
.method-section .section-heading{margin-bottom:clamp(38px,6vw,72px)}
.method-section .section-heading h2{max-width:580px;font-size:clamp(46px,6vw,78px);letter-spacing:-.085em}
.method-section .section-heading .serif-accent{background:linear-gradient(100deg,#e5f49a,#8fe3c0 48%,#c9adff);background-clip:text;-webkit-background-clip:text;color:transparent}
.method-section .section-aside{max-width:330px;font-size:14px;color:#c3d7c9}
.method-list{max-width:1020px;margin-left:auto;border-top:1px solid rgba(223,234,166,.22)}
.method-list::before{left:28px;background:linear-gradient(180deg,#8fe3c0,#e5f49a 35%,#c9adff 70%,#ff9d87)}
.method-step{display:grid;grid-template-columns:56px 58px minmax(0,1fr) 112px;align-items:center;gap:24px;min-height:136px;padding:26px 26px 26px 0;border-bottom:1px solid rgba(223,234,166,.17);border-radius:0 8px 8px 0;transition:background .45s ease,padding .5s cubic-bezier(.16,1,.3,1),border-color .4s ease}
.method-step:nth-child(1){--step-accent:#8fe3c0}
.method-step:nth-child(2){--step-accent:#91c9ff}
.method-step:nth-child(3){--step-accent:#c9adff}
.method-step:nth-child(4){--step-accent:#ff9d87}
.method-step::before{left:24px;top:calc(50% - 4px);background:var(--step-accent);box-shadow:0 0 0 5px rgba(255,255,255,.035),0 0 22px color-mix(in srgb,var(--step-accent) 55%,transparent)}
.method-no{display:grid;place-items:center;width:42px;height:42px;margin-left:8px;border:1px solid color-mix(in srgb,var(--step-accent) 50%,transparent);border-radius:50%;color:var(--step-accent);font-size:11px;background:color-mix(in srgb,var(--step-accent) 8%,transparent);transition:transform .45s cubic-bezier(.16,1,.3,1),background .35s ease}
.method-symbol{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;border:1px solid color-mix(in srgb,var(--step-accent) 48%,transparent);background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--step-accent) 18%,transparent),rgba(255,255,255,.015));color:var(--step-accent);font-size:22px;box-shadow:inset 0 1px rgba(255,255,255,.07),0 10px 28px rgba(0,0,0,.08)}
.method-step>div:nth-child(3){min-width:0}
.method-step h3{font-size:clamp(16px,1.8vw,21px);letter-spacing:-.045em;margin-bottom:8px;color:#f5f5e9}
.method-step p{max-width:570px;margin:0;font-size:13px;line-height:1.85;color:#bfd1c5}
.step-end{justify-self:end;padding:8px 11px;border:1px solid color-mix(in srgb,var(--step-accent) 32%,transparent);border-radius:999px;color:var(--step-accent);background:color-mix(in srgb,var(--step-accent) 7%,transparent);font-size:8px;letter-spacing:.14em}
.method-step:hover{padding-left:12px;padding-right:26px;background:linear-gradient(90deg,color-mix(in srgb,var(--step-accent) 9%,transparent),rgba(255,255,255,.015) 72%,transparent);border-bottom-color:color-mix(in srgb,var(--step-accent) 38%,transparent)}
.method-step:hover .method-no{transform:scale(1.08);background:color-mix(in srgb,var(--step-accent) 16%,transparent)}
.method-step:hover .method-symbol{border-color:var(--step-accent);box-shadow:0 0 30px color-mix(in srgb,var(--step-accent) 15%,transparent),inset 0 1px rgba(255,255,255,.1)}
.about-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 8% 90%,rgba(143,227,192,.16),transparent 36%),radial-gradient(ellipse at 88% 14%,rgba(201,173,255,.18),transparent 34%),linear-gradient(130deg,#f8f6ec 0%,#f3f3e9 50%,#eef4ed 100%)}
.about-section::before{content:"";position:absolute;pointer-events:none;top:-200px;right:-150px;width:clamp(320px,48vw,680px);aspect-ratio:1;border:1px solid rgba(20,75,52,.1);border-radius:50%;box-shadow:0 0 0 32px rgba(20,75,52,.025),0 0 0 72px rgba(20,75,52,.02),0 0 0 118px rgba(20,75,52,.015)}
.about-section .section-wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(48px,8vw,120px);padding-block:clamp(100px,12vw,160px)}
.about-visual{position:relative;min-height:clamp(390px,43vw,560px);display:grid;place-items:center;isolation:isolate}
.about-visual::before{content:"";position:absolute;z-index:-1;width:76%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(143,227,192,.42),rgba(201,173,255,.18) 45%,rgba(255,157,135,.1) 64%,transparent 72%);filter:blur(2px);animation:mc-about-halo 9s ease-in-out infinite}
.about-circle{position:absolute;width:82%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(20,75,52,.22);transform:rotate(-15deg)}
.about-circle.circle-two{width:65%;transform:rotate(24deg);border-style:dashed;border-color:rgba(132,105,183,.32)}
.about-logo-halo{position:absolute;width:54%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(143,227,192,.18) 60%,transparent 72%);filter:blur(4px)}
.about-logo{position:relative;z-index:2;width:min(70%,340px);height:auto;object-fit:contain;filter:drop-shadow(0 16px 25px rgba(20,75,52,.12))}
.about-monogram{position:absolute;z-index:1;font-size:clamp(90px,13vw,170px);font-weight:800;letter-spacing:-.12em;color:rgba(16,61,44,.06);transform:translateY(10%)}
.about-vertical{position:absolute;right:0;top:20%;writing-mode:vertical-rl;letter-spacing:.22em;font-size:9px;color:#63816b}
.about-sticker{position:absolute;z-index:3;left:0;bottom:12%;display:flex;align-items:center;gap:13px;padding:16px 20px;border:1px solid rgba(20,75,52,.12);border-radius:8px;background:rgba(255,255,250,.83);backdrop-filter:blur(18px);box-shadow:0 20px 55px rgba(20,75,52,.1);font-size:12px;color:#4b6655}
.about-sticker>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#dff4b5,#b7ead7,#d8c5ff);color:#214e38;font-size:20px}
.about-sticker b{display:inline-block;margin-top:3px;color:#143b29;font-size:14px}
.about-copy{max-width:620px}
.about-copy .eyebrow{display:flex;align-items:center;gap:12px;color:#51775a}
.about-copy .eyebrow::after{content:"";display:block;width:44px;height:1px;background:linear-gradient(90deg,#75b88c,transparent)}
.about-copy h2{margin:24px 0 30px;font-size:clamp(43px,5.4vw,72px);line-height:.99;letter-spacing:-.085em;color:#133b29}
.about-copy h2 .serif-accent{background:linear-gradient(105deg,#477c52,#338a72 52%,#9072b7);background-clip:text;-webkit-background-clip:text;color:transparent}
.about-copy .about-lead{padding-left:18px;border-left:2px solid #8fe3c0;font-size:clamp(16px,1.65vw,19px);line-height:1.7;color:#1b4631;font-weight:600}
.about-copy>p:not(.eyebrow):not(.about-lead){font-size:14px;line-height:2;color:#506657}
.about-link{display:inline-flex;align-items:center;gap:12px;margin-top:15px;padding:13px 0;color:#205b3b;border-bottom:1px solid rgba(32,91,59,.25);font-size:12px}
.about-link span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#dff4b5,#b7ead7);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.about-link:hover span{transform:translate(3px,-3px)}
@keyframes mc-about-halo{0%,100%{transform:scale(.94);opacity:.75}50%{transform:scale(1.07);opacity:1}}
@media(max-width:800px){
 .method-step{grid-template-columns:48px 48px minmax(0,1fr);gap:15px;padding:23px 12px 23px 0}
 .method-list::before{left:23px}
 .method-step::before{left:19px}
 .method-no{width:38px;height:38px;margin-left:4px}
 .method-symbol{width:46px;height:46px}
 .step-end{display:none}
 .about-section .section-wrap{grid-template-columns:minmax(0,1fr);gap:45px}
 .about-visual{min-height:clamp(300px,65vw,430px);max-width:560px;width:100%;margin-inline:auto}
 .about-copy{max-width:720px}
}
@media(max-width:520px){
 .method-section .section-heading h2{font-size:clamp(39px,10vw,53px)}
 .method-section .section-aside{font-size:12px}
 .method-step{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:21px 8px 21px 0}
 .method-list::before{left:17px}
 .method-step::before{left:13px;top:25px}
 .method-no{width:32px;height:32px;margin-left:1px;font-size:9px}
 .method-symbol{display:none}
 .method-step h3{font-size:15px}
 .method-step p{font-size:12px;line-height:1.75}
 .method-step:hover{padding-left:5px;padding-right:8px}
 .about-section .section-wrap{padding-block:78px;gap:32px}
 .about-visual{min-height:285px}
 .about-logo{width:68%}
 .about-sticker{left:0;bottom:5%;padding:11px 13px;font-size:10px}
 .about-sticker>span{width:30px;height:30px}
 .about-sticker b{font-size:12px}
 .about-copy h2{font-size:clamp(38px,10vw,50px);margin:20px 0 24px}
 .about-copy>p:not(.eyebrow):not(.about-lead){font-size:13px}
}


/* SITE-WIDE GREEN ORBITS + clean process-step numbering */
:root{--green-deep:#123c2b;--green-pine:#1e6342;--green-leaf:#34885a;--green-mint:#75c99a;--green-sage:#a8d9b5;--green-pale:#d9efc7;--green-neon:#b9ef76}
.color-orbs .color-orb{mix-blend-mode:screen;filter:blur(1.5px);opacity:.2}
.color-orbs .orb-mint{background:radial-gradient(circle at 34% 30%,#d5ffe3 0%,#75c99a 24%,rgba(117,201,154,.05) 70%,transparent 75%)}
.color-orbs .orb-lime{background:radial-gradient(circle at 34% 30%,#efffc8 0%,#b9ef76 24%,rgba(185,239,118,.04) 70%,transparent 75%)}
.color-orbs .orb-coral{background:radial-gradient(circle at 34% 30%,#b4e7c4 0%,#34885a 26%,rgba(52,136,90,.04) 70%,transparent 75%);opacity:.15}
.color-orbs .orb-blue{background:radial-gradient(circle at 34% 30%,#d9f8df 0%,#a8d9b5 25%,rgba(168,217,181,.04) 70%,transparent 75%);opacity:.18}
.color-orbs .orb-lilac{background:radial-gradient(circle at 34% 30%,#d3f3cf 0%,#75b987 26%,rgba(117,185,135,.04) 70%,transparent 75%);opacity:.16}
.color-orbs .orb-gold{background:radial-gradient(circle at 34% 30%,#f2ffd8 0%,#d9efc7 25%,rgba(217,239,199,.04) 70%,transparent 75%);opacity:.18}
.hero::before{background:radial-gradient(circle,rgba(117,201,154,.2),rgba(30,99,66,.07) 48%,transparent 70%)}
.method-section{background:radial-gradient(ellipse at 8% 18%,rgba(117,201,154,.13),transparent 34%),radial-gradient(ellipse at 94% 78%,rgba(185,239,118,.09),transparent 32%),linear-gradient(135deg,#0b3023 0%,#0d3d29 48%,#102f25 100%)}
.method-section::before,.method-section::after{border-color:rgba(117,201,154,.18);box-shadow:0 0 0 28px rgba(117,201,154,.025),0 0 0 60px rgba(117,201,154,.018)}
.method-section::after{border-color:rgba(185,239,118,.18);box-shadow:0 0 0 24px rgba(185,239,118,.025),0 0 0 52px rgba(185,239,118,.018)}
.method-list{margin-top:8px;margin-left:0;max-width:none;border-top:1px solid rgba(168,217,181,.22);padding-left:0}
.method-list::before{left:25px;width:2px;border-radius:3px;background:linear-gradient(180deg,#75c99a 0%,#b9ef76 34%,#34885a 68%,#a8d9b5 100%)}
.method-step{position:relative;display:grid;grid-template-columns:52px 54px minmax(0,1fr) auto;align-items:center;column-gap:20px;min-height:126px;padding:22px 22px 22px 0;margin:0;border-bottom:1px solid rgba(168,217,181,.17);border-radius:0 12px 12px 0}
.method-step:nth-child(1){--step-accent:#75c99a}
.method-step:nth-child(2){--step-accent:#b9ef76}
.method-step:nth-child(3){--step-accent:#34885a}
.method-step:nth-child(4){--step-accent:#a8d9b5}
.method-step::before{left:21px;top:calc(50% - 4px);width:9px;height:9px;background:var(--step-accent);border:2px solid #103a28;box-shadow:0 0 0 3px rgba(117,201,154,.12),0 0 18px color-mix(in srgb,var(--step-accent) 45%,transparent)}
.method-no{position:relative;z-index:2;display:grid;place-items:center;box-sizing:border-box;width:42px;height:42px;min-width:42px;aspect-ratio:1;margin:0 0 0 5px;padding:0;border:1px solid color-mix(in srgb,var(--step-accent) 60%,transparent);border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--step-accent) 18%,#123c2b),rgba(7,32,22,.92));color:var(--step-accent);font:600 11px/1 var(--mono,monospace);letter-spacing:.02em;text-align:center;box-shadow:0 5px 18px rgba(0,0,0,.12),inset 0 1px rgba(255,255,255,.07)}
.method-symbol{box-sizing:border-box;display:grid;place-items:center;width:50px;height:50px;min-width:50px;margin:0;border:1px solid color-mix(in srgb,var(--step-accent) 55%,transparent);border-radius:50%;background:radial-gradient(circle at 32% 25%,color-mix(in srgb,var(--step-accent) 20%,transparent),rgba(255,255,255,.015));color:var(--step-accent);font-size:21px;line-height:1}
.method-step>div:nth-child(3){min-width:0}
.method-step h3{margin:0 0 7px;font-size:clamp(16px,1.7vw,20px);line-height:1.3;letter-spacing:-.035em}
.method-step p{max-width:590px;margin:0;font-size:13px;line-height:1.8;color:#c5d9ca}
.step-end{justify-self:end;align-self:center;white-space:nowrap;padding:8px 12px;border:1px solid color-mix(in srgb,var(--step-accent) 40%,transparent);border-radius:999px;background:color-mix(in srgb,var(--step-accent) 8%,transparent);color:var(--step-accent);font:500 8px/1 var(--mono,monospace);letter-spacing:.13em}
.method-step:hover{padding-left:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--step-accent) 8%,transparent),rgba(255,255,255,.015) 72%,transparent)}
.method-step:hover .method-no{transform:scale(1.04);background:color-mix(in srgb,var(--step-accent) 20%,#123c2b)}
.method-step:hover .method-symbol{transform:rotate(12deg) scale(1.04);border-color:var(--step-accent)}
/* Spread green circles and gentle green light through the whole site, not just the hero */
.intro-band,.services-section,.about-section,.contact-section{position:relative;isolation:isolate;overflow:hidden}
.intro-band::before,.services-section::before,.about-section::after,.contact-section::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:clamp(180px,27vw,390px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(52,136,90,.16);box-shadow:0 0 0 22px rgba(117,201,154,.025),0 0 0 48px rgba(117,201,154,.018),inset 0 0 50px rgba(117,201,154,.025)}
.intro-band::before{left:-150px;top:-65%}
.services-section::before{right:-160px;top:12%}
.about-section::after{left:-160px;bottom:-20%;border-color:rgba(117,185,135,.22);box-shadow:0 0 0 24px rgba(117,185,135,.035),0 0 0 54px rgba(117,185,135,.02)}
.contact-section::before{right:-160px;top:5%;border-color:rgba(185,239,118,.17);box-shadow:0 0 0 24px rgba(185,239,118,.025),0 0 0 54px rgba(185,239,118,.018)}
.about-section{background:radial-gradient(ellipse at 8% 90%,rgba(117,201,154,.18),transparent 36%),radial-gradient(ellipse at 88% 14%,rgba(185,239,118,.12),transparent 34%),linear-gradient(130deg,#f8f8ee 0%,#f1f6eb 50%,#edf5ed 100%)}
.about-circle.circle-one{border-color:rgba(52,136,90,.38)!important}
.about-circle.circle-two{border-color:rgba(117,185,135,.42)!important}
.about-visual::before{background:radial-gradient(circle at 35% 30%,rgba(185,239,118,.35),rgba(117,201,154,.22) 40%,rgba(52,136,90,.08) 62%,transparent 72%)}
.contact-form-wrap{border-color:rgba(117,201,154,.24)}
@media(max-width:800px){
 .method-list{padding-left:0}
 .method-step{grid-template-columns:46px 46px minmax(0,1fr);column-gap:13px;min-height:118px;padding:20px 8px 20px 0}
 .method-list::before{left:22px}
 .method-step::before{left:18px}
 .method-no{width:38px;height:38px;min-width:38px;margin-left:3px}
 .method-symbol{width:42px;height:42px;min-width:42px}
 .step-end{display:none}
}
@media(max-width:520px){
 .method-step{grid-template-columns:36px minmax(0,1fr);column-gap:12px;min-height:0;padding:20px 8px 20px 0}
 .method-list::before{left:17px}
 .method-step::before{left:13px;top:25px}
 .method-no{width:32px;height:32px;min-width:32px;margin-left:1px;font-size:9px}
 .method-symbol{display:none}
 .method-step h3{font-size:15px}
 .method-step p{font-size:12px;line-height:1.75}
 .method-step:hover{padding-left:4px;padding-right:8px}
}


/* BRAND PALETTE OVERRIDE: strictly green shades, matching the M&C identity */
:root{--orb-mint:#b9e8c8;--orb-lime:#9bd3a8;--orb-coral:#438f60;--orb-blue:#7dbb8e;--orb-lilac:#286c48;--orb-gold:#d4edc9;--orb-deep:#123c2b}
.color-orbs .orb-mint{background:radial-gradient(circle at 35% 35%,#e0f7e5 0%,#b9e8c8 24%,rgba(185,232,200,.04) 70%,transparent 75%)!important;opacity:.2}
.color-orbs .orb-lime{background:radial-gradient(circle at 35% 35%,#d8f0c6 0%,#9bd3a8 24%,rgba(155,211,168,.04) 70%,transparent 75%)!important;opacity:.18}
.color-orbs .orb-coral{background:radial-gradient(circle at 35% 35%,#a9d9b4 0%,#438f60 26%,rgba(67,143,96,.04) 70%,transparent 75%)!important;opacity:.14}
.color-orbs .orb-blue{background:radial-gradient(circle at 35% 35%,#d0ebd4 0%,#7dbb8e 25%,rgba(125,187,142,.04) 70%,transparent 75%)!important;opacity:.17}
.color-orbs .orb-lilac{background:radial-gradient(circle at 35% 35%,#b8dfbf 0%,#286c48 26%,rgba(40,108,72,.04) 70%,transparent 75%)!important;opacity:.14}
.color-orbs .orb-gold{background:radial-gradient(circle at 35% 35%,#e6f4d8 0%,#d4edc9 25%,rgba(212,237,201,.04) 70%,transparent 75%)!important;opacity:.17}
.serif-accent,.method-section .section-heading .serif-accent{background:linear-gradient(105deg,#d4edc9 0%,#9bd3a8 48%,#438f60 100%);background-clip:text;-webkit-background-clip:text;color:transparent!important}
.method-step:nth-child(1){--step-accent:#b9e8c8}
.method-step:nth-child(2){--step-accent:#9bd3a8}
.method-step:nth-child(3){--step-accent:#438f60}
.method-step:nth-child(4){--step-accent:#d4edc9}
.about-copy h2 .serif-accent{background:linear-gradient(105deg,#286c48,#438f60 52%,#9bd3a8);background-clip:text;-webkit-background-clip:text;color:transparent}
.about-copy:hover .about-lead{border-color:#75b987}
.button-primary{background:linear-gradient(110deg,#d4edc9 0%,#9bd3a8 50%,#b9e8c8 100%)!important}


/* M&C GREEN MOTION UPGRADE — dense drifting dots, no rainbow, no decorative arrows */
:root{--mc-pine:#123c2b;--mc-forest:#1e6342;--mc-leaf:#34885a;--mc-sage:#75b987;--mc-mint:#9bd3a8;--mc-pale:#d4edc9}
.color-orbs .color-orb{opacity:.24!important;filter:blur(.5px)!important}
.color-orbs .orb-mint{background:radial-gradient(circle at 35% 35%,#e7f8e8 0%,#b9e8c8 24%,rgba(117,201,154,.04) 70%,transparent 75%)!important}
.color-orbs .orb-lime{background:radial-gradient(circle at 35% 35%,#e4f5d8 0%,#9bd3a8 24%,rgba(155,211,168,.04) 70%,transparent 75%)!important}
.color-orbs .orb-coral{background:radial-gradient(circle at 35% 35%,#a9d9b5 0%,#438f60 26%,rgba(67,143,96,.04) 70%,transparent 75%)!important}
.color-orbs .orb-blue{background:radial-gradient(circle at 35% 35%,#d6efda 0%,#7dbb8e 25%,rgba(125,187,142,.04) 70%,transparent 75%)!important}
.color-orbs .orb-lilac{background:radial-gradient(circle at 35% 35%,#b8dfbf 0%,#286c48 26%,rgba(40,108,72,.04) 70%,transparent 75%)!important}
.color-orbs .orb-gold{background:radial-gradient(circle at 35% 35%,#e6f4d8 0%,#d4edc9 25%,rgba(212,237,201,.04) 70%,transparent 75%)!important}
/* Animated particle fields on every major section */
.hero,.intro-band,.services-section,.method-section,.about-section,.contact-section,.footer{position:relative}
.hero::after,.services-section::after,.method-section .section-wrap::after,.about-section .section-wrap::after,.contact-section .section-wrap::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;background-image:radial-gradient(circle,#b9e8c8 1.4px,transparent 2px),radial-gradient(circle,#75b987 1.2px,transparent 2px),radial-gradient(circle,#9bd3a8 1.6px,transparent 2.2px),radial-gradient(circle,#438f60 1.2px,transparent 2px),radial-gradient(circle,#d4edc9 1px,transparent 2px),radial-gradient(circle,#34885a 1.5px,transparent 2.2px);background-size:137px 151px,191px 177px,223px 199px,163px 217px,257px 183px,181px 239px;background-position:0 0,40px 80px,100px 20px,25px 130px,170px 60px,80px 190px;animation:mc-dot-field-drift 32s linear infinite}
.hero::after{opacity:.4}
.services-section::after{opacity:.3}
.method-section .section-wrap::after{opacity:.32}
.about-section .section-wrap::after{opacity:.22}
.contact-section .section-wrap::after{opacity:.28}
.hero>* ,.services-section>* ,.method-section .section-wrap>* ,.about-section .section-wrap>* ,.contact-section .section-wrap>*{position:relative;z-index:1}
.hero::before,.method-section::before,.method-section::after,.about-section::before,.about-section::after,.intro-band::before,.services-section::before,.contact-section::before{border-color:rgba(117,185,135,.24)!important;box-shadow:0 0 0 24px rgba(117,201,154,.035),0 0 0 52px rgba(117,201,154,.025),0 0 0 88px rgba(117,201,154,.015)}
.method-section{background:radial-gradient(ellipse at 8% 18%,rgba(117,201,154,.16),transparent 34%),radial-gradient(ellipse at 94% 78%,rgba(185,239,118,.1),transparent 32%),linear-gradient(135deg,#0b3023 0%,#0d3d29 48%,#102f25 100%)}
.method-step:nth-child(1){--step-accent:#b9e8c8}.method-step:nth-child(2){--step-accent:#9bd3a8}.method-step:nth-child(3){--step-accent:#438f60}.method-step:nth-child(4){--step-accent:#d4edc9}
.serif-accent,.method-section .section-heading .serif-accent{background:linear-gradient(105deg,#d4edc9 0%,#9bd3a8 48%,#438f60 100%);background-clip:text;-webkit-background-clip:text;color:transparent!important}
.about-copy h2 .serif-accent{background:linear-gradient(105deg,#286c48,#438f60 52%,#9bd3a8);background-clip:text;-webkit-background-clip:text;color:transparent}
.button-primary{background:linear-gradient(110deg,#d4edc9 0%,#9bd3a8 50%,#b9e8c8 100%)!important}
/* Remove the ornamental arrow badges that look inconsistent with the clean brand */
.mini-arrow,.project-arrow{display:none!important}
.about-link span{font-size:0!important;width:30px;height:30px;border:1px solid rgba(52,136,90,.22);background:linear-gradient(135deg,#d4edc9,#9bd3a8)!important}
.about-link span::after{content:"";display:block;width:7px;height:7px;border-radius:50%;background:#286c48;box-shadow:0 0 0 4px rgba(40,108,72,.12)}
@keyframes mc-dot-field-drift{0%{background-position:0 0,40px 80px,100px 20px,25px 130px,170px 60px,80px 190px}50%{background-position:65px 95px,0 20px,170px 120px,90px 15px,40px 180px,180px 70px}100%{background-position:137px 151px,-151px -97px,323px 219px,188px 347px,427px 243px,261px 429px}}
@media(max-width:700px){.hero::after,.services-section::after,.method-section .section-wrap::after,.about-section .section-wrap::after,.contact-section .section-wrap::after{background-size:101px 117px,147px 139px,173px 151px,131px 167px,193px 143px,149px 181px;opacity:.2}}
@media(prefers-reduced-motion:reduce){.hero::after,.services-section::after,.method-section .section-wrap::after,.about-section .section-wrap::after,.contact-section .section-wrap::after{animation:none!important}}


/* Safe ivory-section dot texture: background-only, no overlay layers or layout changes */
.intro-band,
#servizi,
.about-section,
.contact-section{
  background-image:
    radial-gradient(circle, rgba(52,136,90,.16) 1px, transparent 1.5px),
    radial-gradient(circle, rgba(117,185,135,.10) 1px, transparent 1.6px);
  background-size: 24px 24px, 39px 39px;
  background-position: 0 0, 12px 8px;
}
@media (max-width: 700px) {
  .intro-band,
  #servizi,
  .about-section,
  .contact-section {
    background-size: 29px 29px, 45px 45px;
  }
}


/* M&C service cards refinement — compact, balanced and without decorative arrows */
.services-grid {
  align-items: stretch;
  gap: 18px;
}
.service-card {
  min-height: 0;
  height: 100%;
  padding: 24px 23px 19px;
  border-radius: 10px;
}
.service-top {
  margin-bottom: 21px;
}
.service-card h3 {
  font-size: clamp(17px, 1.35vw, 19px);
  line-height: 1.35;
  margin-bottom: 10px;
}
.service-card > p {
  font-size: 12px;
  line-height: 1.75;
  margin-bottom: 15px;
}
.service-card ul {
  gap: 6px;
  margin-bottom: 16px;
}
.service-card li {
  display: flex;
  align-items: baseline;
  gap: 9px;
  font-size: 11px;
}
.service-card li::before {
  content: "";
  display: inline-block;
  flex: 0 0 4px;
  width: 4px;
  height: 4px;
  margin: 0;
  border-radius: 50%;
  background: var(--lime);
  transform: translateY(-2px);
}
.card-link {
  padding-top: 12px;
}
.card-link span {
  display: none !important;
}
@media (max-width: 900px) {
  .services-grid {
    gap: 14px;
  }
  .service-card {
    padding: 22px 20px 18px;
  }
}
@media (max-width: 760px) {
  .services-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
  }
  .service-card {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 22px 20px 18px;
  }
  .service-top {
    margin-bottom: 17px;
  }
  .service-card > p {
    font-size: 13px;
    line-height: 1.75;
  }
  .service-card ul {
    margin-bottom: 14px;
  }
}
@media (max-width: 420px) {
  .service-card {
    padding: 19px 17px 16px;
    border-radius: 9px;
  }
  .service-icon {
    width: 40px;
    height: 40px;
  }
  .service-card h3 {
    font-size: 17px;
  }
}


/* MOBILE METHOD SECTION FIX — prevent grid overflow and keep the timeline smooth */
@media (max-width: 760px) {
  .method-list {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  .method-list::before {
    left: 21px;
    width: 1px;
    transform: none;
    opacity: .55;
    animation: none;
    background: linear-gradient(180deg, rgba(143,227,192,.7), rgba(229,244,154,.7));
  }
  .method-step {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 0;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 22px 0;
    border-radius: 0;
    transition: background-color .22s ease, border-color .22s ease;
  }
  .method-step > div:nth-child(2) {
    display: none;
  }
  .method-no {
    box-sizing: border-box;
    width: 42px;
    height: 42px;
    min-width: 42px;
    margin: 0;
    position: relative;
    z-index: 1;
    background: #103b2c;
    font-size: 11px;
    transform: none;
  }
  .method-step::before {
    display: none;
  }
  .method-step > div:nth-child(3) {
    min-width: 0;
    width: 100%;
    overflow-wrap: anywhere;
    padding-top: 2px;
  }
  .method-step h3 {
    font-size: clamp(16px, 4.4vw, 20px);
    line-height: 1.35;
    margin: 0 0 7px;
  }
  .method-step p {
    max-width: 100%;
    font-size: 13px;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }
  .step-end {
    display: none;
  }
  .method-step:hover {
    padding-left: 0;
    padding-right: 0;
    background: transparent;
  }
  .method-step:hover .method-no {
    transform: none;
  }
  .method-step:hover .method-symbol {
    transform: none;
  }
}
@media (max-width: 420px) {
  .method-step {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 19px 0;
  }
  .method-no {
    width: 38px;
    height: 38px;
    min-width: 38px;
    font-size: 10px;
  }
  .method-list::before {
    left: 19px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .method-list::before {
    animation: none !important;
    transform: none !important;
  }
  .method-step,
  .method-no,
  .method-symbol {
    transition: none !important;
  }
}


/* MOBILE TIMELINE FIX: prevent overlaps and reduce animation load */
.method-list,
.method-step,
.method-step > div { min-width: 0; max-width: 100%; }

.method-step::before { display: none !important; }
.method-list::before { animation: none !important; transform: none !important; }
.method-step,
.method-step:hover {
  transition: background-color .2s ease, border-color .2s ease;
}
.method-step:hover { padding-left: 0; }
.method-step:hover .method-no,
.method-step:hover .method-symbol { transform: none; }

@media (max-width: 520px) {
  .method-section { overflow: hidden; }
  .method-section .section-wrap {
    width: calc(100% - 32px);
    max-width: 100%;
    padding-inline: 0;
  }
  .method-list {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    overflow: hidden;
  }
  .method-list::before {
    left: 14px !important;
    width: 1px;
    background: linear-gradient(180deg, rgba(185,232,200,.18), rgba(155,211,168,.58), rgba(212,237,201,.2));
  }
  .method-step,
  .method-step:hover {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
    box-sizing: border-box;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 18px 0;
    border-radius: 0;
    background: transparent;
  }
  .method-no {
    grid-column: 1;
    grid-row: 1;
    width: 28px;
    height: 28px;
    min-width: 28px;
    margin: 2px 0 0;
    padding: 0;
    font-size: 9px;
    line-height: 1;
    box-shadow: none;
  }
  .method-symbol,
  .step-end,
  .method-step::before { display: none !important; }
  .method-step > div:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    overflow-wrap: break-word;
  }
  .method-step h3 {
    margin: 0 0 6px;
    font-size: 15px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }
  .method-step p {
    max-width: 100%;
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }
  .method-step:hover { padding-right: 0; }
}
@media (max-width: 700px) {
  .hero::after,
  .services-section::after,
  .method-section .section-wrap::after,
  .about-section .section-wrap::after,
  .contact-section .section-wrap::after {
    animation: none !important;
    opacity: .12;
  }
}
@media (prefers-reduced-motion: reduce) {
  .method-step, .method-list::before { animation: none !important; transition: none !important; }
}


/* Robust narrow-layout override also covers mobile browser zoom-out */
@media (max-width: 1100px) {
  .method-section .section-wrap {
    width: min(100% - 40px, 900px);
    max-width: 100%;
  }
  .method-list {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  .method-step,
  .method-step:hover {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    min-height: 0 !important;
    box-sizing: border-box;
    padding: 20px 0 !important;
  }
  .method-no {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: relative;
    z-index: 3;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    margin: 1px 0 0 !important;
    background: #103a28 !important;
    box-shadow: 0 0 0 3px #103a28 !important;
  }
  .method-symbol,
  .step-end,
  .method-step::before { display: none !important; }
  .method-step > div:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0;
    width: 100%;
  }
  .method-list::before {
    left: 14px !important;
    width: 1px !important;
    z-index: 1;
    animation: none !important;
    transform: none !important;
  }
  .method-step h3 { overflow-wrap: anywhere; }
  .method-step p { max-width: 100%; overflow-wrap: anywhere; }
}
@media (max-width: 700px) {
  .method-section .section-wrap { width: calc(100% - 32px); }
  .method-step,
  .method-step:hover {
    grid-template-columns: 30px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    padding: 18px 0 !important;
  }
  .method-no {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    font-size: 9px !important;
  }
  .method-step h3 { font-size: 15px !important; line-height: 1.4; }
  .method-step p { font-size: 12px !important; line-height: 1.7; }
}


/* M&C SOLAR BACKGROUND — layer separato dal layout per evitare glitch */
:root{
  --solar-ink:#031a11;
  --solar-green:#0a3b29;
  --solar-glow:rgba(115,238,164,.20);
}
html{background:var(--solar-ink)}
body{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(ellipse at 48% 12%,rgba(13,83,51,.38),transparent 47%),
    linear-gradient(180deg,#03170f 0%,#062218 42%,#041a11 100%) !important;
  overflow-x:clip;
}
.solar-background{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  contain:layout paint;
  isolation:isolate;
  user-select:none;
}
.solar-background__image{
  position:absolute;
  inset:-2%;
  display:block;
  width:104%;
  height:104%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  opacity:.20;
  filter:brightness(.64) saturate(.72) contrast(.88);
  transform:scale(1.025);
  transform-origin:center;
  animation:mc-solar-image-drift 90s ease-in-out infinite alternate;
  will-change:transform;
}
.solar-background::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(2,19,12,.43),rgba(2,21,13,.64) 54%,rgba(2,17,11,.70)),
    radial-gradient(ellipse at 50% 42%,transparent 12%,rgba(1,14,8,.30) 100%);
}
.solar-orbit{
  position:absolute;
  z-index:2;
  left:50%;
  top:45%;
  border:1px dashed rgba(145,242,181,.13);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 22px rgba(56,190,113,.025);
}
.solar-orbit--outer{width:min(92vw,1240px);height:min(72vh,760px)}
.solar-orbit--middle{width:min(65vw,850px);height:min(52vh,540px)}
.solar-orbit--inner{width:min(39vw,500px);height:min(32vh,340px)}
.solar-orbit__spinner{
  position:absolute;
  inset:0;
  display:block;
  border-radius:50%;
  animation:mc-solar-orbit-spin var(--solar-speed,76s) linear infinite;
}
.solar-orbit--outer .solar-orbit__spinner{--solar-speed:104s}
.solar-orbit--middle .solar-orbit__spinner{--solar-speed:76s;animation-direction:reverse}
.solar-orbit--inner .solar-orbit__spinner{--solar-speed:51s}
.solar-orbit__spinner i{
  position:absolute;
  left:50%;
  top:0;
  display:block;
  width:8px;
  height:8px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at 34% 30%,#effff3 0 9%,#9df9bd 34%,#35b96c 75%);
  box-shadow:0 0 8px rgba(131,255,174,.72),0 0 20px rgba(70,219,126,.23);
}
.solar-orbit--middle .solar-orbit__spinner i{width:11px;height:11px;box-shadow:0 0 9px rgba(131,255,174,.6),0 0 0 2px rgba(131,255,174,.07)}
.solar-orbit--middle .solar-orbit__spinner i::after{
  content:"";
  position:absolute;
  left:-4px;right:-4px;top:3px;height:4px;
  border:1px solid rgba(177,255,203,.48);
  border-radius:50%;
  transform:rotate(-24deg);
}
.solar-orbit--inner .solar-orbit__spinner i{width:6px;height:6px}
@keyframes mc-solar-orbit-spin{from{transform:rotate(0)}to{transform:rotate(1turn)}}
@keyframes mc-solar-image-drift{
  from{transform:scale(1.025) translate3d(-.35%,.15%,0)}
  to{transform:scale(1.065) translate3d(.35%,-.15%,0)}
}
/* Tutte le sezioni condividono la stessa atmosfera, senza bande di colore brusche. */
header{z-index:100!important}
main,footer{position:relative;z-index:2}
.hero,.intro-band,.section-block,.portfolio-section,.contact-section,.footer{
  background-color:transparent!important;
}
.method-section{
  background:linear-gradient(180deg,rgba(4,28,18,.34),rgba(5,32,20,.25) 55%,rgba(3,22,14,.42))!important;
}
.about-section{
  background:linear-gradient(180deg,rgba(4,27,17,.54),rgba(6,37,22,.42))!important;
  color:#edf7ef!important;
  border-top:1px solid rgba(126,232,163,.13);
  border-bottom:1px solid rgba(126,232,163,.13);
}
.about-copy .eyebrow{color:#9be9b5!important}
.about-copy h2,.about-copy h3{color:#f0faf2!important}
.about-copy .serif-accent{color:#8fe4ad!important}
.about-copy>p:not(.eyebrow),.about-copy .about-lead{color:#c4d9ca!important}
.about-section .about-visual{background:rgba(8,52,33,.36)!important}
.about-section .about-sticker{background:rgba(5,31,20,.84)!important;color:#eaf7ed!important;border:1px solid rgba(136,231,167,.2)}
.color-orbs{z-index:1!important;pointer-events:none!important}
@media(max-width:900px){
  .solar-background__image{opacity:.15;object-position:center}
  .solar-orbit--outer{width:112vw;height:72vh}
  .solar-orbit--middle{width:78vw;height:49vh}
  .solar-orbit--inner{width:47vw;height:30vh}
  .solar-orbit{border-color:rgba(145,242,181,.10)}
}
@media(max-width:600px){
  .solar-background__image{
    inset:0;width:100%;height:100%;opacity:.115;
    object-position:center;animation:none;transform:none;
  }
  .solar-background::after{
    background:linear-gradient(180deg,rgba(2,19,12,.52),rgba(2,21,13,.70) 58%,rgba(2,17,11,.76));
  }
  .solar-orbit--outer{width:124vw;height:68vh}
  .solar-orbit--middle{width:89vw;height:43vh}
  .solar-orbit--inner{width:53vw;height:27vh}
  .solar-orbit__spinner i{width:6px;height:6px}
  .solar-orbit--middle .solar-orbit__spinner i{width:8px;height:8px}
  .solar-orbit--middle .solar-orbit__spinner i::after{left:-3px;right:-3px}
}
@media(prefers-reduced-motion:reduce){
  .solar-background__image,.solar-orbit__spinner{animation:none!important;will-change:auto!important}
}


/* =========================================================
   M&C SOLAR ORRERY — pianeti 3D in orbita, come vero sfondo vivo
   ========================================================= */
.solar-background{z-index:0!important}
.solar-background__image{
  opacity:.035!important;
  filter:grayscale(1) brightness(.6) sepia(.3) hue-rotate(65deg)!important;
  animation:none!important;
  transform:scale(1.02)!important;
}
.solar-background::after{
  z-index:1!important;
  background:
    radial-gradient(ellipse at 68% 45%,rgba(12,91,52,.05),rgba(1,15,9,.30) 72%),
    linear-gradient(180deg,rgba(2,19,12,.18),rgba(2,21,13,.36) 55%,rgba(2,17,11,.46))!important;
}
.solar-scene{
  position:absolute;
  z-index:3;
  left:63%;
  top:46%;
  width:min(76vw,980px);
  aspect-ratio:1.32;
  transform:translate(-50%,-50%);
  pointer-events:none;
  opacity:.86;
  contain:layout paint;
  filter:drop-shadow(0 0 28px rgba(40,190,105,.06));
}
.solar-sun{
  position:absolute;
  left:50%;top:50%;
  width:clamp(15px,2vw,28px);
  aspect-ratio:1;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at 34% 28%,#e6ffed 0%,#83efac 23%,#29975a 60%,rgba(20,92,49,.25) 78%,transparent 100%);
  box-shadow:0 0 14px rgba(124,246,166,.65),0 0 45px rgba(47,213,112,.19),0 0 92px rgba(29,156,80,.12);
}
.solar-track{
  position:absolute;
  left:50%;top:50%;
  border:1px solid rgba(116,232,157,.19);
  border-radius:50%;
  transform:translate(-50%,-50%) rotateX(61deg);
  box-shadow:0 0 24px rgba(61,193,111,.025);
}
.solar-track__motion{
  position:absolute;
  inset:0;
  border-radius:50%;
  animation:mc-planet-orbit var(--orbit-duration) linear infinite;
  transform-origin:50% 50%;
  will-change:transform;
}
.solar-track--one{width:24%;height:24%}
.solar-track--two{width:39%;height:38%}
.solar-track--three{width:54%;height:52%}
.solar-track--four{width:69%;height:66%}
.solar-track--five{width:84%;height:80%}
.solar-track--six{width:98%;height:94%}
.solar-track--one .solar-track__motion{--orbit-duration:19s}
.solar-track--two .solar-track__motion{--orbit-duration:28s;animation-direction:reverse}
.solar-track--three .solar-track__motion{--orbit-duration:39s}
.solar-track--four .solar-track__motion{--orbit-duration:51s;animation-direction:reverse}
.solar-track--five .solar-track__motion{--orbit-duration:67s}
.solar-track--six .solar-track__motion{--orbit-duration:86s;animation-direction:reverse}
@keyframes mc-planet-orbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.planet{
  position:absolute;
  left:50%;top:0;
  width:clamp(12px,1.7vw,25px);
  aspect-ratio:1;
  transform:translate(-50%,-50%) rotateX(-61deg);
  transform-style:preserve-3d;
  border-radius:50%;
  isolation:isolate;
  background:#287a4b;
  box-shadow:inset -5px -3px 9px rgba(0,0,0,.72),inset 2px 2px 5px rgba(219,255,225,.26),0 0 13px rgba(107,242,152,.13);
}
.planet__surface{
  position:absolute;inset:0;display:block;overflow:hidden;border-radius:50%;
  background:
    radial-gradient(ellipse at 30% 22%,rgba(231,255,237,.72) 0%,rgba(144,255,179,.18) 13%,transparent 30%),
    repeating-linear-gradient(12deg,rgba(185,255,205,.18) 0 2px,transparent 2px 5px),
    radial-gradient(circle at 35% 34%,#77d995 0%,#2b8b50 46%,#0b3a26 79%,#041a10 100%);
  box-shadow:inset -6px -3px 9px rgba(0,0,0,.62),inset 1px 1px 4px rgba(237,255,240,.33);
  animation:mc-planet-self-spin 12s linear infinite;
  background-size:100% 100%,220% 100%,100% 100%;
}
.planet::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:linear-gradient(112deg,transparent 18%,rgba(3,20,12,.04) 38%,rgba(0,0,0,.55) 100%);
}
@keyframes mc-planet-self-spin{
  from{background-position:0 0,0 0,0 0}
  to{background-position:0 0,220% 0,0 0}
}
.planet--mercury{width:clamp(10px,1.15vw,17px);background:#75967c}
.planet--mercury .planet__surface{background:radial-gradient(circle at 28% 24%,#c2dbc8,#648d73 42%,#173c29 78%,#03180f);background-size:100% 100%}
.planet--venus{width:clamp(15px,2.1vw,30px)}
.planet--venus .planet__surface{background:radial-gradient(ellipse at 35% 24%,#d7f7c7,#85d69c 25%,#478b59 55%,#092a1c 88%);background-size:100% 100%}
.planet--earth{width:clamp(20px,2.65vw,39px);box-shadow:inset -8px -4px 11px rgba(0,0,0,.72),inset 2px 2px 7px rgba(226,255,231,.3),0 0 19px rgba(97,229,143,.18)}
.planet--earth .planet__surface{
  background:
    radial-gradient(ellipse at 36% 30%,rgba(229,255,233,.65),transparent 23%),
    radial-gradient(ellipse at 28% 46%,#b9efaf 0 12%,transparent 13%),
    radial-gradient(ellipse at 64% 55%,#78d797 0 16%,transparent 17%),
    radial-gradient(circle at 35% 30%,#55b87a,#217347 62%,#062517 100%);
  background-size:100% 100%;
}
.planet--mars{width:clamp(13px,1.7vw,25px)}
.planet--mars .planet__surface{background:radial-gradient(circle at 29% 22%,#daf8c8,#9bcf91 25%,#42784b 55%,#082b1b 88%);background-size:100% 100%}
.planet--saturn{width:clamp(24px,3.25vw,48px);background:#4f9566}
.planet--saturn .planet__ring{
  position:absolute;z-index:0;left:-34%;top:31%;
  width:168%;height:43%;border:2px solid rgba(167,255,194,.65);
  border-left-color:rgba(167,255,194,.26);border-right-color:rgba(167,255,194,.28);
  border-radius:50%;transform:rotate(-20deg);
  box-shadow:0 0 8px rgba(89,225,137,.2);
}
.planet--saturn .planet__surface{z-index:1;background:repeating-linear-gradient(0deg,rgba(213,255,220,.34) 0 2px,transparent 2px 5px),radial-gradient(circle at 30% 24%,#c5f6c9,#5ca975 42%,#0b3823 82%);background-size:100% 100%}
.planet--jupiter{width:clamp(26px,3.6vw,53px)}
.planet--jupiter .planet__surface{
  background:repeating-linear-gradient(0deg,rgba(220,255,224,.48) 0 3px,rgba(83,173,111,.28) 3px 6px,transparent 6px 9px),radial-gradient(circle at 30% 23%,#b9efbf,#529e6d 46%,#0a3020 88%);
  background-size:100% 100%;
}
.solar-star{
  position:absolute;width:3px;height:3px;border-radius:50%;
  background:#d6ffe0;box-shadow:0 0 8px 2px rgba(130,245,164,.34);
  animation:mc-star-pulse 4.6s ease-in-out infinite alternate;
}
.solar-star--one{left:14%;top:23%}
.solar-star--two{right:13%;top:25%;animation-delay:-1.4s}
.solar-star--three{right:20%;bottom:18%;animation-delay:-2.7s}
.solar-star--four{left:22%;bottom:14%;animation-delay:-.8s}
@keyframes mc-star-pulse{from{opacity:.22;transform:scale(.7)}to{opacity:.9;transform:scale(1.35)}}
/* Header a capsula, contatti a sinistra, navigazione centrale, logo a destra */
.header{
  top:12px!important;
  left:50%!important;
  width:min(1320px,calc(100% - 42px))!important;
  transform:translateX(-50%);
  border:1px solid rgba(126,235,165,.24)!important;
  border-radius:999px!important;
  background:rgba(3,24,15,.78)!important;
  box-shadow:0 10px 34px rgba(0,0,0,.16),inset 0 1px 0 rgba(192,255,210,.035);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  overflow:visible;
}
.header.scrolled{background:rgba(3,24,15,.91)!important;border-color:rgba(126,235,165,.32)!important}
.header-inner{
  width:100%!important;
  height:76px!important;
  padding:0 clamp(15px,2.2vw,30px);
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:20px;
  align-items:center;
}
.header-contact{
  grid-column:1;justify-self:start;
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  min-width:140px;padding:12px 22px;
  border:1px solid rgba(128,240,169,.75);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(29,126,68,.55),rgba(6,61,35,.55));
  color:#e8fff0;font-size:12px;font-weight:700;letter-spacing:.01em;
  box-shadow:inset 0 1px rgba(237,255,242,.08),0 0 18px rgba(60,205,110,.07);
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.header-contact span{font-size:15px;line-height:1}
.header-contact:hover{transform:translateY(-1px);background:linear-gradient(135deg,rgba(42,151,83,.72),rgba(8,77,44,.68));box-shadow:0 0 25px rgba(81,231,131,.17)}
.nav{
  grid-column:2;grid-row:1;
  position:static!important;
  display:flex!important;align-items:center;justify-content:center;
  gap:clamp(24px,4vw,58px);
  padding:0!important;margin:0;
  border:0!important;border-radius:0!important;
  background:transparent!important;
  opacity:1!important;visibility:visible!important;transform:none!important;
  box-shadow:none!important;
  font-size:13px;color:#e4f4e8;
}
.nav>a{
  position:relative;
  display:inline-flex;align-items:center;
  padding:12px 1px!important;border:0!important;
  background:transparent!important;
  color:#e4f4e8!important;
  white-space:nowrap;
}
.nav>a::after{
  content:"";position:absolute;left:50%;bottom:3px;width:0;height:2px;
  transform:translateX(-50%);border-radius:3px;
  background:linear-gradient(90deg,#56d989,#c7ffda);
  box-shadow:0 0 10px rgba(106,255,169,.66);
  transition:width .25s ease;
}
.nav>a:hover::after,.nav>a:focus-visible::after,.nav>a[aria-current="location"]::after{width:100%}
.brand{
  grid-column:3;grid-row:1;justify-self:end;
  min-width:0;display:flex;align-items:center;justify-content:flex-end;
}
.brand img{
  width:clamp(145px,16vw,205px);height:auto;max-height:53px;
  object-fit:contain;border-radius:0;
  filter:drop-shadow(0 0 11px rgba(108,234,154,.12));
}
.brand-copy{display:none!important}
.menu-toggle{display:none!important}
@media(max-width:760px){
  .header{
    top:8px!important;width:calc(100% - 20px)!important;
    border-radius:26px!important;
  }
  .header-inner{
    height:66px!important;padding:0 11px;
    grid-template-columns:auto auto minmax(0,1fr);
    gap:10px;
  }
  .header-contact{min-width:0;padding:10px 13px;gap:7px;font-size:11px}
  .header-contact span{display:none}
  .menu-toggle{
    display:flex!important;grid-column:2;grid-row:1;
    position:static!important;
    width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:6px;
    border:1px solid rgba(122,236,163,.25);background:rgba(12,66,39,.72);
    border-radius:14px;color:#b3f6c6;cursor:pointer;
  }
  .menu-toggle span{display:block;width:16px;height:1.5px;background:currentColor;transition:transform .2s ease}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .brand{grid-column:3;grid-row:1;min-width:0}
  .brand img{width:clamp(112px,34vw,160px);max-height:39px}
  .nav{
    position:absolute!important;top:calc(100% + 9px)!important;left:4px!important;right:4px!important;
    display:flex!important;flex-direction:column;align-items:stretch!important;gap:2px!important;
    padding:10px 17px 16px!important;
    border:1px solid rgba(126,235,165,.23)!important;border-radius:22px!important;
    background:rgba(3,24,15,.96)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.32)!important;
    opacity:0!important;visibility:hidden!important;transform:translateY(-7px)!important;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  }
  .nav.open{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
  .nav>a{padding:13px 3px!important;border-bottom:1px solid rgba(126,235,165,.1)!important}
  .nav>a:last-child{border-bottom:0!important}
  .solar-scene{left:56%;top:42%;width:118vw;max-width:780px;opacity:.53}
  .solar-background__image{opacity:.018!important}
}
@media(max-width:390px){
  .header-inner{gap:7px;padding:0 8px}
  .header-contact{padding:9px 10px;font-size:10px}
  .menu-toggle{width:36px;height:36px}
  .brand img{width:clamp(100px,31vw,124px)}
  .solar-scene{left:54%;top:39%;width:130vw;opacity:.45}
}
@media(prefers-reduced-motion:reduce){
  .solar-track__motion,.planet__surface,.solar-star{animation:none!important;will-change:auto!important}
}


/* ===== CORREZIONE DEFINITIVA HEADER / CHI SIAMO / ORBITE ===== */
/* Sfondi coerenti e trasparenti: il livello orbitale si vede lungo tutta la pagina. */
html{scroll-padding-top:112px}
body{isolation:isolate;overflow-x:clip}
.solar-background{
  position:fixed!important;inset:0!important;z-index:0!important;
  display:block!important;overflow:hidden!important;pointer-events:none!important;
  contain:layout!important;isolation:isolate!important;background:transparent!important;
}
.solar-background::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse at 68% 44%,rgba(7,67,37,.02),rgba(1,15,9,.15) 70%),
    linear-gradient(180deg,rgba(2,19,12,.12),rgba(2,21,13,.23) 52%,rgba(2,17,11,.32))!important;
}
.solar-background__image{display:none!important}
main,footer{position:relative;z-index:2}
.site-glow{z-index:1;opacity:.10}
.color-orbs{display:none!important}
.solar-star{display:none!important}
.intro-band{background:linear-gradient(90deg,transparent,rgba(7,53,31,.10),transparent)!important}
#servizi,.contact-section,.footer{background:transparent!important}
.method-section{
  background:linear-gradient(180deg,rgba(7,42,27,.17),rgba(8,45,28,.23) 58%,rgba(3,25,16,.20))!important;
}
/* Make the orbits visibly move: each track rotates independently while the sphere stays shaded. */
.solar-scene{
  left:67%!important;top:47%!important;width:min(84vw,1120px)!important;
  aspect-ratio:1.30!important;opacity:.74!important;filter:none!important;
  contain:layout!important;
}
.solar-track{
  border-color:rgba(139,241,172,.30)!important;
  box-shadow:0 0 16px rgba(61,193,111,.035)!important;
  transform:translate(-50%,-50%) rotateX(58deg)!important;
}
.solar-track__motion{
  animation-name:mc-planet-orbit!important;
  animation-duration:var(--orbit-duration,60s)!important;
  animation-timing-function:linear!important;
  animation-iteration-count:infinite!important;
  animation-play-state:running!important;
  transform-origin:50% 50%!important;
  will-change:transform;
}
@keyframes mc-planet-orbit{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}
.planet{
  backface-visibility:visible;
  transform:translate(-50%,-50%) rotateX(-58deg)!important;
  border:1px solid rgba(224,255,232,.14);
  box-shadow:inset -8px -5px 12px rgba(0,0,0,.76),inset 2px 2px 7px rgba(223,255,230,.33),0 0 19px rgba(101,242,151,.24)!important;
}
.planet__surface{
  animation:mc-planet-self-spin 9s linear infinite!important;
  animation-play-state:running!important;
  background-size:100% 100%,240% 100%,100% 100%!important;
}
@keyframes mc-planet-self-spin{
  from{background-position:0 0,0 0,0 0}
  to{background-position:0 0,240% 0,0 0}
}
.planet--saturn .planet__ring{
  animation:mc-saturn-ring-glow 6s ease-in-out infinite alternate;
}
@keyframes mc-saturn-ring-glow{
  from{filter:brightness(.84);box-shadow:0 0 4px rgba(89,225,137,.10)}
  to{filter:brightness(1.18);box-shadow:0 0 12px rgba(89,225,137,.30)}
}
/* La sezione Chi siamo riprende la composizione orbitale, senza creare uno stacco cromatico. */
.about-section{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr)!important;
  align-items:center;gap:clamp(32px,7vw,92px);
  width:min(1180px,calc(100% - 64px))!important;
  margin-inline:auto!important;
  padding:clamp(74px,9vw,118px) 0!important;
  position:relative;isolation:isolate;
  color:#edf8f0!important;
  background:linear-gradient(120deg,rgba(4,31,19,.17),rgba(7,47,28,.10) 55%,rgba(3,23,15,.18))!important;
  border-top:1px solid rgba(126,235,165,.13);
  border-bottom:1px solid rgba(126,235,165,.13);
}
.about-copy{min-width:0;position:relative;z-index:2}
.about-copy .eyebrow{color:#9be9b5!important}
.about-copy h2{
  color:#f1faf3!important;
  font-size:clamp(38px,4.5vw,61px)!important;
  line-height:1.09;letter-spacing:-.06em;
}
.about-copy .serif-accent{color:#87e5a8!important}
.about-copy>p:not(.eyebrow){max-width:540px;color:#bed5c6!important;font-size:14px;line-height:1.9}
.about-copy .about-intro{font-size:16px!important;color:#e8f7ec!important;font-weight:600}
.about-cta{margin-top:15px;border-radius:999px!important}
.about-orbit-art{
  position:relative;display:grid;place-items:center;
  width:100%;max-width:510px;aspect-ratio:1;margin-inline:auto;
  border-radius:50%;isolation:isolate;overflow:hidden;
  background:radial-gradient(circle,rgba(20,111,61,.20),rgba(4,36,22,.06) 58%,transparent 72%);
}
.about-orbit-art::before,.about-orbit-art::after{
  content:"";position:absolute;inset:8%;border-radius:50%;pointer-events:none;
}
.about-orbit-art::before{border:1px solid rgba(126,235,165,.15);box-shadow:0 0 50px rgba(35,169,88,.06)}
.about-orbit-art::after{inset:18%;border:1px dashed rgba(126,235,165,.18)}
.about-orbit-core{
  position:relative;z-index:3;width:clamp(90px,12vw,142px);aspect-ratio:1;
  display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle at 35% 25%,rgba(64,153,94,.58),rgba(3,31,19,.88) 72%);
  border:1px solid rgba(147,246,178,.48);
  box-shadow:0 0 24px rgba(78,226,131,.15),inset 0 0 22px rgba(98,235,145,.08);
}
.about-orbit-core img{width:76%;height:76%;object-fit:contain;filter:drop-shadow(0 0 10px rgba(120,241,158,.20))}
.about-orbit{
  position:absolute;left:50%;top:50%;width:76%;height:30%;
  border:1px solid rgba(135,238,168,.28);border-radius:50%;
  transform:translate(-50%,-50%) rotate(-28deg);
}
.about-orbit--one{width:78%;height:32%;animation:mc-about-orbit 19s linear infinite}
.about-orbit--two{width:92%;height:41%;transform:translate(-50%,-50%) rotate(38deg);animation:mc-about-orbit 27s linear infinite reverse}
.about-orbit--three{width:62%;height:24%;transform:translate(-50%,-50%) rotate(68deg);animation:mc-about-orbit 15s linear infinite}
.about-orbit--four{width:105%;height:47%;transform:translate(-50%,-50%) rotate(-54deg);border-style:dashed;opacity:.66;animation:mc-about-orbit 37s linear infinite reverse}
.about-orbit i{
  position:absolute;left:50%;top:0;width:9px;height:9px;border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle at 30% 24%,#e5ffee,#87f2aa 40%,#23894b 85%);
  box-shadow:0 0 9px rgba(116,255,164,.64),0 0 24px rgba(52,207,109,.18);
}
.about-orbit--two i{width:13px;height:13px}
.about-orbit--three i{width:6px;height:6px}
@keyframes mc-about-orbit{from{rotate:0deg}to{rotate:360deg}}
.about-orbit-caption{
  position:absolute;z-index:4;font:9px/1.5 var(--mono);letter-spacing:.16em;
  color:rgba(193,242,207,.68);text-align:center;
}
.about-orbit-caption--top{top:7%}
.about-orbit-caption--bottom{bottom:7%}
/* Header a capsula: logo a sinistra, navigazione centrale, contatti a destra. */
.header{
  top:12px!important;left:50%!important;
  width:min(1320px,calc(100% - 42px))!important;
  transform:translateX(-50%)!important;
  border:1px solid rgba(126,235,165,.24)!important;
  border-radius:999px!important;
  background:rgba(3,24,15,.84)!important;
  box-shadow:0 10px 34px rgba(0,0,0,.18),inset 0 1px 0 rgba(192,255,210,.035)!important;
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
}
.header.scrolled{background:rgba(3,24,15,.94)!important;border-color:rgba(126,235,165,.32)!important}
.header-inner{
  width:100%!important;height:76px!important;
  padding:0 clamp(18px,2.6vw,34px);
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center;gap:18px;
}
.brand{grid-column:1;grid-row:1;justify-self:start;min-width:0;display:flex;align-items:center}
.brand img{width:clamp(150px,17vw,220px);height:auto;max-height:54px;object-fit:contain;border-radius:0;filter:drop-shadow(0 0 10px rgba(108,234,154,.12))}
.brand-copy{display:none!important}
.nav{
  grid-column:2;grid-row:1;position:static!important;
  display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;
  gap:clamp(24px,3.8vw,54px);margin:0!important;padding:0!important;
  opacity:1!important;visibility:visible!important;transform:none!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  font-size:13px;color:#e4f4e8;
}
.nav>a{
  position:relative;display:inline-flex;align-items:center;white-space:nowrap;
  padding:12px 1px!important;margin:0!important;border:0!important;
  background:transparent!important;color:#e4f4e8!important;
}
.nav>a::after{
  content:"";position:absolute;left:50%;bottom:2px;width:0;height:2px;
  transform:translateX(-50%);border-radius:3px;
  background:linear-gradient(90deg,#56d989,#c7ffda);
  box-shadow:0 0 10px rgba(106,255,169,.55);transition:width .25s ease;
}
.nav>a:hover::after,.nav>a:focus-visible::after,.nav>a[aria-current="location"]::after{width:100%}
.header-contact{
  grid-column:3;grid-row:1;justify-self:end;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:142px;padding:12px 25px;border-radius:999px;
  border:1px solid rgba(128,240,169,.72);
  background:linear-gradient(135deg,rgba(29,126,68,.48),rgba(6,61,35,.55));
  color:#e8fff0!important;font-size:12px;font-weight:700;letter-spacing:.01em;
  box-shadow:inset 0 1px rgba(237,255,242,.08),0 0 18px rgba(60,205,110,.06);
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.header-contact:hover{background:linear-gradient(135deg,rgba(42,151,83,.68),rgba(8,77,44,.72));border-color:#b1ffd0;box-shadow:0 0 22px rgba(81,231,131,.15)}
.header-contact::after{content:none!important}
.menu-toggle{display:none!important}
@media(max-width:900px){
  .header{width:calc(100% - 26px)!important}
  .header-inner{padding:0 18px;gap:12px}
  .brand img{width:clamp(130px,20vw,170px)}
  .nav{gap:clamp(14px,2.8vw,25px)}
  .header-contact{min-width:118px;padding:11px 18px}
  .about-section{width:calc(100% - 48px)!important;gap:26px}
  .solar-scene{left:64%!important;top:44%!important;width:102vw!important;opacity:.59!important}
}
@media(max-width:760px){
  html{scroll-padding-top:94px}
  .header{top:8px!important;width:calc(100% - 18px)!important;border-radius:25px!important}
  .header-inner{
    height:66px!important;padding:0 9px;gap:8px;
    grid-template-columns:minmax(0,1fr) auto auto!important;
  }
  .brand{grid-column:1;grid-row:1;justify-self:start;min-width:0}
  .brand img{width:clamp(112px,32vw,155px);max-height:39px}
  .menu-toggle{
    display:flex!important;grid-column:2;grid-row:1;position:static!important;
    width:39px;height:39px;flex-direction:column;justify-content:center;align-items:center;gap:6px;
    border:1px solid rgba(122,236,163,.25);background:rgba(12,66,39,.72);
    border-radius:13px;color:#b3f6c6;cursor:pointer;
  }
  .menu-toggle span{display:block;width:16px;height:1.5px;background:currentColor;transition:transform .2s ease}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .header-contact{grid-column:3;grid-row:1;min-width:0;padding:10px 12px;font-size:11px;white-space:nowrap}
  .nav{
    position:absolute!important;top:calc(100% + 9px)!important;left:4px!important;right:4px!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;
    padding:10px 17px 16px!important;border:1px solid rgba(126,235,165,.23)!important;
    border-radius:22px!important;background:rgba(3,24,15,.97)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.32)!important;
    opacity:0!important;visibility:hidden!important;transform:translateY(-7px)!important;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  }
  .nav.open{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
  .nav>a{display:flex!important;padding:13px 3px!important;border-bottom:1px solid rgba(126,235,165,.1)!important}
  .nav>a:last-child{border-bottom:0!important}
  .about-section{grid-template-columns:minmax(0,1fr)!important;width:calc(100% - 36px)!important;gap:24px;padding:64px 0!important}
  .about-orbit-art{width:min(100%,390px);margin-top:4px}
  .about-copy h2{font-size:clamp(36px,9vw,48px)!important}
  .about-copy>p:not(.eyebrow){font-size:13px}
  .solar-scene{left:58%!important;top:42%!important;width:124vw!important;opacity:.50!important}
  .solar-track{border-color:rgba(139,241,172,.22)!important}
  .solar-track__motion{animation-duration:calc(var(--orbit-duration,60s) * 1.18)!important}
  .planet__surface{animation-duration:18s!important}
}
@media(max-width:380px){
  .header-inner{gap:6px;padding:0 7px}
  .brand img{width:clamp(98px,29vw,112px)}
  .header-contact{padding:9px 9px;font-size:10px}
  .menu-toggle{width:35px;height:35px}
}
@media(prefers-reduced-motion:reduce){
  .solar-track__motion,.planet__surface,.planet--saturn .planet__ring,.about-orbit{animation:none!important;will-change:auto!important}
}
