/*
Theme Name: MontiniWeb
Theme URI: https://www.montiniweb.it/
Author: Lorenzo Montini
Author URI: https://www.montiniweb.it/
Description: Tema a blocchi su misura per MontiniWeb, con homepage animata, portfolio reale e contenuti modificabili nell’editor WordPress. Indipendente da Divi e da altri page builder.
Version: 1.3.11
Requires at least: 6.6
Tested up to: 7.1.3
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: montiniweb
Tags: block-patterns, full-site-editing, custom-logo, portfolio, blog
*/
@font-face{font-family:InterDisplay;src:url('assets/InterDisplay-Regular.otf') format('opentype');font-weight:400;font-display:swap}@font-face{font-family:InterDisplay;src:url('assets/InterDisplay-Medium.otf') format('opentype');font-weight:500 800;font-display:swap}
:root{--ink:#102f50;--navy:#071c30;--blue:#079be5;--paper:#f5f3ee;--muted:#7e898f;--line:rgba(16,47,80,.17);--gutter:clamp(24px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:InterDisplay,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}button{cursor:pointer}::selection{color:white;background:#1385b1}.skip{position:fixed;z-index:99;top:-100px;left:20px;background:white;padding:15px}.skip:focus{top:15px}.header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center}.brand img{width:215px;height:auto}.header nav{display:flex;align-items:center;gap:34px;font-size:14px}.header nav>a{position:relative}.header nav>a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav>a:hover:after{transform:scaleX(1)}.nav-contact{border:1px solid #bdc7c9;border-radius:40px;padding:14px 20px;margin-left:12px}.nav-contact span{margin-left:22px}.menu-toggle{display:none}.hero{min-height:780px;min-height:calc(100svh - 100px);background:var(--navy);color:#f7f6f1;padding:29px var(--gutter) 25px;position:relative;overflow:hidden;isolation:isolate}.hero:after{content:'';position:absolute;width:70%;height:100%;right:-20%;top:0;background:radial-gradient(ellipse,#0a45692b 0,transparent 65%);z-index:-1;pointer-events:none}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#b2dcf405 1px,transparent 1px),linear-gradient(90deg,#b2dcf405 1px,transparent 1px);background-size:10vw 10vw;mask-image:linear-gradient(90deg,transparent,#000);z-index:-1}.hero-topline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;color:#a5b6c3}.hero-topline span:first-child{display:flex;align-items:center;gap:10px}.hero-topline i,.status-dot{width:5px;height:5px;border-radius:50%;background:var(--blue);display:inline-block;box-shadow:0 0 12px #079be560}.hero-content{position:relative;min-height:610px;height:calc(100svh - 257px);display:flex;align-items:center;max-height:900px}.hero-copy{position:relative;z-index:3;width:65%;pointer-events:none;padding:44px 0}.hero-copy a{pointer-events:auto}h1{font-size:clamp(65px,7.8vw,138px);font-weight:500;letter-spacing:-.065em;line-height:.99;margin:0 0 34px}h1 .location{color:#6dcaff;white-space:nowrap}.period{color:var(--blue)}.hero-description{font-size:clamp(18px,1.6vw,25px);line-height:1.35;color:#c2cbd0;letter-spacing:-.02em;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:28px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 24px;border-radius:3px;font-size:14px;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#98dcff}.text-link{border-bottom:1px solid #506374;padding:12px 0}.text-link span{margin-left:16px}.hero-footer{display:flex;align-items:end;justify-content:space-between;position:relative;z-index:5;gap:25px;border-top:1px solid #cee8ff22;padding-top:23px;font-size:12px;color:#abbac5}.hero-footer p{margin:0;line-height:1.6}.scroll-cue{display:flex;align-items:center;gap:12px}.scroll-circle{display:grid;place-items:center;width:32px;height:32px;border:1px solid #7e9aaa66;border-radius:50%;color:#fff}.motion-toggle{border:0;background:none;color:#abbac5;padding:7px 0;display:flex;gap:9px;align-items:center;font-size:10px}.pause-icon{color:#fff;font-size:14px}.web-scene{position:absolute;width:65%;height:100%;min-height:550px;right:-10%;top:0;z-index:1;perspective:1400px;pointer-events:none}#web-canvas{position:absolute;width:130%;height:125%;left:-15%;top:-10%;opacity:.85}.browser-object{width:470px;height:354px;position:absolute;left:19%;top:21%;border:1px solid #a5e2ff66;background:#0c2538;border-radius:12px;transform:rotateY(-17deg) rotateX(12deg) rotateZ(-9deg);box-shadow:0 40px 100px #0007,0 0 70px #079be50b;animation:browser-float 9s ease-in-out infinite;overflow:hidden}.browser-chrome{height:31px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;color:#86b0c9;background:#0c2335;border-bottom:1px solid #76d1ff28;font-family:monospace;font-size:8px}.dots{display:flex;gap:4px}.dots i{width:4px;height:4px;border-radius:50%;background:#5c8197}.url{background:#19394c;padding:3px 25px;border-radius:4px}.browser-body{margin:8px;background:#d8e7e7;color:#163c4a;height:279px;overflow:hidden}.mini-nav{display:flex;justify-content:space-between;padding:13px 16px;font-size:7px}.mini-nav b{font-size:10px;letter-spacing:-.04em}.mini-site{padding:15px 22px;position:relative;overflow:hidden}.mini-eyebrow{font-size:6px;letter-spacing:.18em}.mini-title{font-size:43px;line-height:1.01;letter-spacing:-.065em;margin-top:12px;position:relative;z-index:1}.mini-graphic{position:absolute;right:23px;top:22px;transform:rotate(-30deg);width:137px;height:180px}.mini-graphic span{position:absolute;width:60px;height:175px;background:#079be5;transform:skewY(25deg);border-radius:50px;box-shadow:inset -10px 0 12px #002c4755}.mini-graphic span:nth-child(2){left:39px;top:-12px;background:#173e56}.mini-graphic span:nth-child(3){left:79px;top:-24px;background:#38b5da}.mini-bottom{display:flex;justify-content:space-between;margin-top:25px;font-size:7px;line-height:1.5}.mini-arrow{width:24px;height:24px;display:grid;place-items:center;background:#163c4a;color:#fff;border-radius:50%;font-size:15px}.browser-bottom{display:flex;justify-content:space-between;padding:3px 15px;font:7px monospace;letter-spacing:.12em;color:#7ab0ca}.mobile-object{position:absolute;left:70%;top:45%;width:122px;height:225px;padding:22px 10px 10px;background:#0e2c41;border:1px solid #93c5df80;border-radius:16px;color:white;transform:rotateY(-15deg) rotateZ(8deg);box-shadow:12px 18px 50px #0005;animation:mobile-float 8s ease-in-out infinite}.mobile-notch{position:absolute;top:7px;left:42px;width:37px;height:5px;border-radius:9px;background:#061727}.mobile-object>b{font-size:7px}.mobile-shape{height:74px;width:65px;margin:10px auto;border:14px solid #079be5;border-radius:45% 55% 40% 60%;transform:rotate(-30deg)}.mobile-object strong{font-size:12px;line-height:1.08;font-weight:400;display:block}.mobile-lines i{display:block;height:2px;background:#547489;width:80%;margin-top:6px}.mobile-lines i+ i{width:57%;margin-top:4px}.mobile-button{font-size:5px;border:1px solid #66c9ff88;display:block;padding:5px;margin-top:9px}.floating-label{position:absolute;color:#91bdd3;display:flex;gap:12px;align-items:center;font:8px monospace;letter-spacing:.12em}.label-code{left:21%;top:9%;transform:rotate(-9deg)}.bracket{font-size:26px;color:#67cfff;font-weight:400;letter-spacing:-.1em}.label-responsive{top:82%;left:42%;border:1px solid #79c4e331;padding:9px 13px;background:#0c2335c9}.scene-coordinate{position:absolute;color:#68869c;font:8px monospace;letter-spacing:.12em}.coordinate-a{right:14%;top:15%}.coordinate-b{left:13%;bottom:9%;transform:rotate(-90deg);transform-origin:left}.scene-orbit{position:absolute;left:5%;top:10%;width:93%;height:80%;border:1px solid #2689b01c;border-radius:50%;transform:rotate(-28deg) rotateX(38deg)}.orbit-two{transform:rotate(26deg) rotateX(50deg);width:110%;left:0}.expertise-strip{height:85px;background:#e9eeee;display:flex;justify-content:space-between;gap:25px;align-items:center;padding:0 var(--gutter);font-size:11px;letter-spacing:.16em;border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap}.expertise-strip i{font-size:24px;color:var(--blue);font-style:normal}.section-pad{padding:110px var(--gutter)}.section-tag{font-size:10px;letter-spacing:.14em;display:flex;align-items:center;gap:12px;font-weight:500}.tag-line{display:block;width:26px;height:1px;background:currentColor}.intro-content{display:grid;grid-template-columns:1.25fr 1fr;gap:10%;margin-top:50px}h2{font-weight:400;font-size:clamp(40px,4.7vw,78px);letter-spacing:-.055em;line-height:1.05;margin:0}.muted{color:#839196}.intro-side{padding-top:4px;max-width:470px}.intro-side p,.care-content p{font-size:17px;line-height:1.65;letter-spacing:-.015em;margin:0 0 22px}.line-link{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:14px;border-bottom:1px solid #8a9aa0;padding:17px 0;margin-top:25px}.line-link span{font-size:23px;transition:transform .3s}.line-link:hover span{transform:translate(3px,-3px)}.services{padding-top:25px}.services-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:35px}.services-heading>p{font-size:13px;line-height:1.6;margin:0;color:#5c707b}.service-row{display:grid;grid-template-columns:55px 1.15fr 1fr 50px;gap:20px;align-items:center;padding:31px 0;border-top:1px solid var(--line);transition:padding .3s,background .3s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover{padding-left:12px;background:#e9eeee}.service-number{font:11px monospace;color:#7c8f99}.service-row h3{font-size:clamp(23px,2.6vw,42px);font-weight:400;letter-spacing:-.04em;margin:0}.service-row p{font-size:14px;line-height:1.6;margin:0;max-width:350px;color:#5b707b}.service-arrow{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:23px;transition:background .3s,color .3s}.service-row:hover .service-arrow{background:var(--ink);color:white}.projects{background:#e8edec}.project-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.project-heading h2{margin-top:35px}.blue{color:var(--blue)}.project-note{font-size:11px;color:#60737a;line-height:1.7;margin:0 0 4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:55px}.project-card-offset{margin-top:100px}.project-art{height:440px;overflow:hidden;position:relative;transition:transform .4s}.project-card:hover .project-art{transform:translateY(-5px)}.commerce-art{background:#c9bda9;display:grid;place-items:center}.concept-browser{position:relative;width:85%;height:78%;background:#f3eee2;box-shadow:0 15px 30px #483d3426;overflow:hidden}.concept-nav{display:flex;justify-content:space-between;padding:17px;font-size:6px}.concept-nav b{font-size:8px;letter-spacing:.07em}.commerce-title{position:relative;z-index:2;font-family:Georgia,serif;font-size:clamp(23px,2.3vw,37px);letter-spacing:-.06em;line-height:1.05;padding:20px 22px;color:#3b392e}.vessel{position:absolute;bottom:0;background:#c36e42;box-shadow:inset -22px -10px 40px #69331540,inset 8px 8px 20px #ffedd133}.vessel-one{width:110px;height:170px;right:20px;border-radius:15% 15% 44% 44%;transform:rotate(-12deg);bottom:-9px}.vessel-one:before{content:'';position:absolute;top:-7px;left:0;width:100%;height:17px;border-radius:50%;background:#7b432e;border:5px solid #bf764b}.vessel-two{width:130px;height:130px;right:113px;background:#8d906d;border-radius:45% 45% 30% 30%;bottom:-28px;transform:rotate(13deg)}.vessel-two:before{content:'';position:absolute;left:30%;top:-26px;width:40%;height:40px;background:#8d906d;border-radius:10px 10px 0 0}.concept-small{position:absolute;bottom:17px;left:20px;font-size:5px;letter-spacing:.1em;max-width:100px;line-height:1.8;z-index:3}.art-caption{position:absolute;bottom:15px;left:20px;font:8px monospace;letter-spacing:.12em;color:#4b554f}.project-meta{display:flex;justify-content:space-between;align-items:start;gap:15px;padding-top:20px}.project-meta h3{font-size:19px;letter-spacing:-.025em;font-weight:400;margin:0}.project-meta>span{font-size:10px;color:#687a80;margin-top:4px}.business-art{background:#193e4b;color:#e5ded0}.business-preview{position:relative;height:100%;padding:17px}.business-preview>p{font-size:7px;letter-spacing:.15em;margin:50px 20px 17px}.business-preview>strong{font-size:clamp(50px,5.7vw,90px);font-weight:400;letter-spacing:-.07em;line-height:.91;display:block;margin-left:20px;position:relative}.business-callout{font-size:8px;position:absolute;bottom:50px;left:37px}.business-art .art-caption{color:#aec1c1}.architecture-lines{position:absolute;width:80%;height:110%;right:-18%;top:30%;transform:rotate(-25deg);display:flex;gap:16px}.architecture-lines i{height:100%;width:28px;background:linear-gradient(90deg,#57828b,#2b5561);box-shadow:7px 0 12px #0002}.portfolio-link{max-width:300px;margin-top:50px}.care{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:#102f50;color:#e7eff0;overflow:hidden}.care-symbol{position:relative;display:grid;place-items:center;min-height:360px}.care-symbol:before,.care-symbol:after{content:'';width:360px;height:360px;border:1px solid #6e9ab53b;position:absolute;border-radius:50%;transform:rotateX(55deg) rotate(-35deg)}.care-symbol:after{transform:rotateY(55deg) rotate(35deg)}.care-symbol img{width:85%;height:auto;filter:brightness(0) invert(1);opacity:.92;transform:rotate(-12deg)}.care-content h2{margin:32px 0;font-size:clamp(50px,5.3vw,85px)}.care-content p{color:#bacbd4;max-width:470px}.care-content .line-link{max-width:470px;border-color:#7b9db8}.contact{background:#d8e9ec}.contact-top{display:flex;justify-content:space-between;gap:20px}.contact-top>span{font-size:9px;letter-spacing:.08em}.contact-main{display:flex;justify-content:space-between;align-items:center;padding:55px 0 35px;border-bottom:1px solid #9fb9c0}.contact-main h2{font-size:clamp(66px,8.7vw,140px);letter-spacing:-.07em}.contact-main em{font-family:Georgia,serif;font-weight:400;color:#0783ba}.contact-arrow{font-size:100px;font-weight:400;transition:transform .3s}.contact-main:hover .contact-arrow{transform:translate(10px,-10px)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:30px}.contact-bottom p{font-size:14px;line-height:1.7;margin:0}.button-dark{background:var(--ink);color:white;min-width:190px}.footer{display:grid;grid-template-columns:1fr 1.1fr auto;align-items:center;gap:30px;padding:36px var(--gutter) 20px;font-size:12px}.footer img{width:190px;height:auto}.footer>span{color:#667b86}.footer small{grid-column:1/-1;text-align:right;font-size:9px;color:#8b999e;padding-top:18px}.motion-paused *{animation-play-state:paused!important}.motion-paused html{scroll-behavior:auto}@keyframes browser-float{0%,100%{transform:rotateY(-17deg) rotateX(12deg) rotateZ(-9deg) translateY(0)}50%{transform:rotateY(-12deg) rotateX(9deg) rotateZ(-7deg) translateY(-14px)}}@keyframes mobile-float{0%,100%{transform:rotateY(-15deg) rotateZ(8deg) translateY(0)}50%{transform:rotateY(-10deg) rotateZ(5deg) translateY(12px)}}
@media(min-width:1700px){.web-scene{right:-3%;width:60%}.browser-object{width:570px;height:422px}.browser-body{height:343px}.mini-site{padding-top:30px}.mini-title{font-size:57px}.mini-graphic{width:170px;height:215px;right:50px;top:40px}.mini-graphic span{height:205px}.mini-bottom{margin-top:45px}.mobile-object{width:140px;height:250px;left:74%}.mobile-shape{height:90px;width:80px}.mobile-notch{left:51px}.mini-nav{font-size:9px}.mini-nav b{font-size:12px}.mini-eyebrow{font-size:8px}}
@media(max-width:1100px){.header nav{gap:22px}.hero-content{min-height:620px}.hero-copy{width:70%}.web-scene{right:-20%;width:75%;opacity:.85}.browser-object{left:15%;width:400px;height:310px;top:27%}.browser-body{height:235px}.mini-title{font-size:35px}.mini-graphic{transform:scale(.8) rotate(-30deg);right:8px;top:5px}.mini-bottom{margin-top:18px}.mobile-object{left:65%;top:55%;transform:scale(.9) rotateZ(8deg)}.label-code{top:16%}.label-responsive{left:25%;top:87%;font-size:7px}.coordinate-a{display:none}.hero-actions{gap:20px}.hero-footer>p{display:none}.project-grid{gap:25px}.project-art{height:350px}.project-meta{flex-direction:column;gap:6px}.business-preview>p{margin-top:25px}.vessel{transform:scale(.8)}.intro-content{gap:6%}.service-row{grid-template-columns:35px 1.1fr 1fr 40px;gap:12px}.service-row p{font-size:13px}.service-arrow{width:38px;height:38px}.care-symbol:before,.care-symbol:after{width:280px;height:280px}}
@media(max-width:760px){html{scroll-padding-top:76px}.header{height:80px;padding:0 23px}.brand img{width:183px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:43px;height:43px;padding:10px;background:none;border:1px solid var(--line);border-radius:50%}.menu-toggle span{display:block;width:100%;height:1px;background:var(--ink);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)}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:28px 25px 35px;box-shadow:0 15px 20px #0002;align-items:start;gap:25px;font-size:19px}.header nav.open{display:flex;flex-direction:column}.nav-contact{margin-left:0;font-size:14px}.hero{padding:23px 24px;min-height:0}.hero-topline{font-size:8px;letter-spacing:.1em}.hero-topline span:last-child{display:none}.hero-content{height:auto;min-height:0;display:block;max-height:none}.hero-copy{width:100%;padding:42px 0 0}h1{font-size:clamp(56px,12.7vw,93px);letter-spacing:-.055em;line-height:1.01;margin-bottom:22px}.hero-description{font-size:19px;line-height:1.4;margin-bottom:25px}.hero-description br{display:none}.hero-actions{gap:19px;flex-wrap:wrap;position:relative;z-index:4}.button{padding:16px 18px;font-size:12px;gap:20px}.text-link{font-size:11px}.text-link span{margin-left:7px}.web-scene{position:relative;right:auto;top:auto;width:calc(100% + 48px);margin-left:-24px;height:350px;min-height:0;opacity:1;overflow:hidden;margin-top:12px}.browser-object{left:calc(50% - 155px);top:50px;width:300px;height:227px;border-radius:8px;animation-name:browser-float}.browser-chrome{height:23px;font-size:5px}.browser-body{height:177px;margin:5px}.mini-nav{padding:9px 11px;font-size:5px}.mini-nav b{font-size:7px}.mini-site{padding:4px 13px}.mini-eyebrow{font-size:4px}.mini-title{font-size:30px;margin-top:8px}.mini-graphic{transform:scale(.6) rotate(-30deg);right:-15px;top:-22px;transform-origin:center}.mini-bottom{margin-top:14px;font-size:5px}.mini-arrow{width:18px;height:18px;font-size:12px}.browser-bottom{font-size:5px;padding-top:1px}.mobile-object{width:83px;height:158px;left:calc(50% + 83px);top:157px;padding:17px 7px 7px;border-radius:12px}.mobile-notch{width:25px;height:4px;left:28px;top:6px}.mobile-object>b{font-size:5px}.mobile-shape{height:46px;width:45px;border-width:10px;margin:7px auto}.mobile-object strong{font-size:8px}.mobile-lines i{margin-top:5px;height:1px}.mobile-button{font-size:4px;margin-top:6px;padding:3px}.label-code{top:7px;left:15%;font-size:6px}.bracket{font-size:19px}.label-responsive{left:18%;top:auto;bottom:7px;font-size:6px;padding:6px 8px}.coordinate-b{display:none}.hero-footer{padding-top:18px;margin-top:0;font-size:10px;gap:10px;align-items:center}.scroll-cue{gap:8px}.scroll-circle{width:25px;height:25px}.motion-toggle{font-size:0;gap:0;width:30px;height:30px;border:1px solid #7e9aaa66;border-radius:50%;justify-content:center}.motion-label{display:none}.expertise-strip{height:66px;justify-content:start;gap:26px;padding:0 24px;font-size:9px}.expertise-strip i{font-size:17px}.section-pad{padding:65px 24px}.section-tag{font-size:8px;letter-spacing:.12em;gap:9px}.tag-line{width:20px}.intro-content{grid-template-columns:1fr;gap:30px;margin-top:30px}h2{font-size:43px}.intro-side p,.care-content p{font-size:16px;line-height:1.65}.intro-side{max-width:none}.line-link{font-size:13px;margin-top:17px}.services{padding-top:0}.services-heading{margin-bottom:25px}.services-heading>p{display:none}.service-row{grid-template-columns:27px 1fr 35px;gap:8px;padding:25px 0}.service-row h3{font-size:26px}.service-row p{grid-column:2;grid-row:2;font-size:13px;max-width:290px;margin-top:6px}.service-number{align-self:start;padding-top:9px;font-size:9px}.service-arrow{grid-column:3;grid-row:1/3;width:32px;height:32px;font-size:19px}.service-row:hover{padding-left:0}.project-heading{display:block}.project-heading h2{font-size:42px;margin-top:28px}.project-note{margin-top:20px;font-size:10px}.project-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.project-card-offset{margin-top:0}.project-art{height:360px}.project-meta h3{font-size:19px}.concept-nav{font-size:6px}.commerce-title{font-size:31px;padding-top:24px}.business-preview>strong{font-size:73px}.business-preview>p{margin-top:35px}.portfolio-link{margin-top:35px;max-width:none}.care{grid-template-columns:1fr;gap:25px}.care-symbol{min-height:180px;order:2;margin-top:20px}.care-symbol img{width:230px;max-width:80%;opacity:.5}.care-symbol:before,.care-symbol:after{width:220px;height:220px}.care-content h2{font-size:59px;margin:25px 0}.contact-top>span{display:none}.contact-main{padding:35px 0 25px;gap:10px}.contact-main h2{font-size:clamp(49px,12vw,77px)}.contact-arrow{font-size:49px}.contact-bottom{display:block;padding-top:25px}.contact-bottom p{font-size:13px}.contact-bottom .button{margin-top:25px;min-width:185px}.footer{grid-template-columns:1fr auto;padding:30px 24px 18px;gap:22px}.footer img{width:160px}.footer>span{grid-row:2;grid-column:1/-1;font-size:11px}.footer>a:last-of-type{font-size:10px}.footer small{text-align:left;padding:0}}
/* The two devices show the same illustrative site. */
.web-scene{--preview-bg:#d8e7e7;--preview-ink:#163c4a}
.browser-body,.mobile-object{background:var(--preview-bg);color:var(--preview-ink)}
.browser-object{animation-name:browser-float-visible;animation-duration:7.5s}
.mobile-object{animation-name:mobile-float-visible;animation-duration:7.5s;animation-delay:-1.5s;border-color:#9ac6d2}
.mobile-notch{background:var(--preview-ink)}
.mobile-shape{border:0;border-radius:0;position:relative;transform:rotate(-30deg);height:74px;width:65px}
.mobile-shape span{position:absolute;left:0;top:8px;width:26px;height:66px;border-radius:20px;background:#079be5;transform:skewY(25deg);box-shadow:inset -4px 0 7px #002c4733}
.mobile-shape span:nth-child(2){left:18px;top:2px;background:#173e56}
.mobile-shape span:nth-child(3){left:36px;top:-4px;background:#38b5da}
.mobile-lines i{background:#739696}
.mobile-button{background:var(--preview-ink);color:white;border-color:var(--preview-ink)}
.mini-graphic span{animation:ribbon-flow 6s ease-in-out infinite}
.mini-graphic span:nth-child(2){animation-delay:-.7s}
.mini-graphic span:nth-child(3){animation-delay:-1.4s}
@keyframes browser-float-visible{0%,100%{transform:rotateY(-17deg) rotateX(12deg) rotateZ(-9deg) translate(0,0)}50%{transform:rotateY(-7deg) rotateX(5deg) rotateZ(-4deg) translate(12px,-30px)}}
@keyframes mobile-float-visible{0%,100%{transform:rotateY(-15deg) rotateZ(8deg) translate(0,0)}50%{transform:rotateY(-6deg) rotateZ(3deg) translate(-8px,22px)}}
@keyframes ribbon-flow{0%,100%{translate:0 0}50%{translate:0 -18px}}
.project-grid{align-items:start;row-gap:42px}
.project-image-link{display:block}
.project-real{height:auto;aspect-ratio:1.4;display:grid;place-items:center;padding:30px;background:#c6e0e7}
.art-mamma{background:#dddbd2}.art-osteria{background:#d9c8b7}.art-zanetti{background:#ccd2ce}
.project-window{width:100%;border:1px solid #122f501a;border-radius:6px;overflow:hidden;box-shadow:0 16px 25px #122f501f;transition:transform .5s}
.project-window-bar{height:25px;background:#f8faf9;display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#667a81;font:8px InterDisplay,Arial,sans-serif;letter-spacing:.02em}
.window-dots{display:flex;gap:3px}.window-dots i{width:4px;height:4px;border-radius:50%;background:#b8c5c9}
.project-window img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}
.project-view{position:absolute;bottom:0;right:0;display:flex;align-items:center;gap:20px;background:var(--ink);color:white;padding:11px 16px;font-size:10px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
.project-image-link:hover .project-view,.project-image-link:focus-visible .project-view{opacity:1;transform:translateY(0)}
.project-image-link:hover .project-window{transform:translateY(-3px)}
.project-description{font-size:14px;line-height:1.65;color:#5b707b;max-width:440px;margin:14px 0 0}
.project-meta h3 a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.mobile-shape{height:46px;width:45px}.mobile-shape span{width:18px;height:43px;top:5px}.mobile-shape span:nth-child(2){left:12px;top:1px}.mobile-shape span:nth-child(3){left:24px;top:-3px}.browser-object{animation-name:browser-float-mobile}.mobile-object{animation-name:phone-float-mobile}.project-real{padding:20px;aspect-ratio:1.35}.project-grid{row-gap:35px}.project-card-offset{margin-top:0}.project-window-bar{height:22px;font-size:7px}.project-description{font-size:13px;margin-top:11px}.project-view{opacity:1;transform:none;padding:8px 10px;font-size:9px}.project-meta{padding-top:16px}}
@keyframes browser-float-mobile{0%,100%{transform:rotateY(-17deg) rotateX(12deg) rotateZ(-9deg) translateY(0)}50%{transform:rotateY(-8deg) rotateX(5deg) rotateZ(-4deg) translateY(-17px)}}
@keyframes phone-float-mobile{0%,100%{transform:rotateY(-15deg) rotateZ(8deg) translateY(0)}50%{transform:rotateY(-7deg) rotateZ(3deg) translateY(12px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.web-scene canvas{opacity:.6}}


/* Native WordPress block integration. */
.hero-copy h1{margin:0 0 34px}.hero-copy>.hero-description{margin:0 0 30px!important}
.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block:0}.wp-block-post-content{margin:0;max-width:none}.wp-block-group{box-sizing:border-box}.header .brand,.footer .wp-block-image{margin:0}.header .brand img{width:215px;height:auto}.header .wp-block-navigation{font-size:14px}.header .wp-block-navigation__container{gap:34px}.header .wp-block-navigation-item:last-child a{border:1px solid #bdc7c9;border-radius:40px;padding:14px 20px;margin-left:12px}.header .wp-block-navigation__responsive-container-content{gap:0}.header nav>a:after{display:none}.header .wp-block-navigation-item__content:hover{text-decoration:underline;text-underline-offset:5px}.hero:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#b2dcf405 1px,transparent 1px),linear-gradient(90deg,#b2dcf405 1px,transparent 1px);background-size:10vw 10vw;z-index:-1;pointer-events:none}.hero p,.hero-topline p,.hero-actions p,.hero-footer p,.service-row>p,.expertise-strip p,.project-window-bar,.contact-top p,.footer p{margin:0}.hero-topline>p:first-child span{display:flex;align-items:center;gap:10px}.hero-topline>p:first-child i{width:5px;height:5px;border-radius:50%;background:var(--blue);display:inline-block}.hero-actions .wp-block-buttons{margin:0}.wp-block-button.button-light,.wp-block-button.button-dark{background:none;padding:0}.wp-block-button .wp-block-button__link{font-family:inherit;font-size:14px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 24px;border-radius:3px;border:0;transition:transform .25s,background .25s}.wp-block-button.button-light .wp-block-button__link{background:var(--paper);color:var(--ink)}.wp-block-button.button-dark .wp-block-button__link{background:var(--ink);color:#fff}.wp-block-button .wp-block-button__link:hover{transform:translateY(-3px)}.wp-block-button.button-light .wp-block-button__link:hover{background:#98dcff}.hero-footer .motion-toggle{margin:0}.hero-description{margin:0 0 30px!important}.expertise-star{font-size:24px;color:var(--blue)}.link-container{margin:0}.project-meta>p{font-size:10px;color:#687a80;margin:4px 0 0}.project-window .wp-block-image{margin:0}.project-window .wp-block-image a{display:block}.project-window .wp-block-image img{height:auto;width:100%;display:block}.project-window-bar .window-dots{letter-spacing:2px;color:#b8c5c9}.services-heading .section-tag{margin:0}.care-symbol>.wp-block-image{margin:0;width:100%}.footer>.wp-block-image img{width:190px;height:auto}.footer>.footer-credit{grid-column:1/-1;text-align:right;font-size:10px;color:#8b999e;padding-top:18px}.contact-top .section-tag{font-size:10px}.contact-top>p:not(.section-tag){font-size:9px;letter-spacing:.08em}.contact-main h2 a{text-decoration:none}.contact-arrow{margin:0}.site-main{min-height:55vh}.page-shell{padding:80px var(--gutter);max-width:1200px;margin:0 auto}.page-shell>.wp-block-post-title{font-size:clamp(38px,6vw,85px);letter-spacing:-.055em;line-height:1.05;margin-bottom:40px}.page-shell .wp-block-post-content p,.page-shell .wp-block-post-content li{font-size:18px;line-height:1.7}.page-shell .wp-block-post-content a{text-decoration:underline}.contact-page h1{font-size:clamp(50px,7vw,100px);margin:40px 0}.page-lead{font-size:20px;line-height:1.6;max-width:650px}.contact-methods{margin:50px 0}.contact-methods h2{font-size:clamp(23px,3.5vw,48px);margin:25px 0;overflow-wrap:anywhere}.contact-methods .line-link{max-width:420px}.article-list .wp-block-post{border-bottom:1px solid var(--line);padding:35px 0}.article-list .wp-block-post-title{font-size:34px}.article-list .wp-block-post-excerpt{font-size:17px;line-height:1.6}
@media(max-width:1100px){.header .wp-block-navigation__container{gap:22px}}
@media(max-width:760px){.header .brand img{width:183px}.header .wp-block-navigation{display:flex;position:static;background:none;padding:0;box-shadow:none}.header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.header .wp-block-navigation__responsive-container-open{display:flex;border:1px solid var(--line);padding:9px;border-radius:50%}.header .wp-block-navigation__responsive-container.is-menu-open{background:var(--paper);color:var(--ink);padding:35px 25px}.header .wp-block-navigation__responsive-container-close{right:0;top:0}.header .wp-block-navigation__responsive-container-content{padding-top:65px;align-items:start}.header .wp-block-navigation__container{align-items:start;font-size:23px;gap:26px}.header .wp-block-navigation-item:last-child a{margin:0;font-size:15px}.hero-topline>p:last-child{display:none}.hero-topline{font-size:8px}.hero-actions .wp-block-button__link{font-size:12px;gap:20px;padding:16px 18px}.hero-actions p{font-size:11px}.hero-description{margin-bottom:25px!important}.hero-footer>p:nth-child(2){display:none}.expertise-star{font-size:17px}.services-heading>.section-tag{font-size:8px}.contact-top>.section-tag{font-size:8px}.contact-top>p:last-child:not(.section-tag){display:none}.footer>.wp-block-image img{width:160px}.footer>p:nth-child(2){grid-row:2;grid-column:1/-1;font-size:11px}.footer>p:nth-child(3){font-size:10px}.footer>.footer-credit{padding:0;text-align:left}.page-shell{padding:55px 24px}.page-shell .wp-block-post-content p{font-size:16px}}
@media(min-width:761px){.header .wp-block-navigation__responsive-container-open{display:none!important}.header .wp-block-navigation__responsive-container:not(.is-menu-open){display:block!important}}
@media(max-width:760px){.hero-copy h1{margin-bottom:22px}.hero-copy>.hero-description{margin-bottom:25px!important}}


/* 1.1: keep block paragraphs in their intended service columns. */
@media (max-width:760px) {
  .service-row {grid-template-columns:22px minmax(0,1fr) 32px;column-gap:10px;row-gap:6px}
  .service-row > .service-number {grid-column:1;grid-row:1 / 3;align-self:start;padding-top:7px;margin:0;font-size:9px;max-width:none}
  .service-row > h3 {grid-column:2;grid-row:1;min-width:0;width:100%;max-width:none;font-size:clamp(23px,6.5vw,26px);line-height:1.15;word-break:normal;overflow-wrap:normal;hyphens:none}
  .service-row > p:not(.service-number):not(.service-arrow) {grid-column:2;grid-row:2;min-width:0;max-width:none;width:100%;margin:0;font-size:13px}
  .service-row > .service-arrow {grid-column:3;grid-row:1 / 3;align-self:center;justify-self:end;display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;font-size:19px;line-height:1;max-width:none}
}

/* Use the editable native navigation as a lightweight mobile dropdown. */
.montiniweb-menu-toggle {display:none}
@media (max-width:760px) {
  .header.montiniweb-menu-ready {overflow:visible}
  .header.montiniweb-menu-ready .wp-block-navigation {position:static}
  .header.montiniweb-menu-ready .wp-block-navigation__responsive-container-open,
  .header.montiniweb-menu-ready .wp-block-navigation__responsive-container-close {display:none!important}
  .header .montiniweb-menu-toggle {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:43px;height:43px;padding:11px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}
  .montiniweb-menu-toggle span {display:block;width:100%;height:1px;background:currentColor;transition:transform .2s}
  .montiniweb-menu-toggle[aria-expanded=true] span:first-child {transform:translateY(3.5px) rotate(45deg)}
  .montiniweb-menu-toggle[aria-expanded=true] span:last-child {transform:translateY(-3.5px) rotate(-45deg)}
  .header.montiniweb-menu-ready .wp-block-navigation .wp-block-navigation__responsive-container {display:none!important;position:absolute;inset:100% 0 auto;width:100%;max-width:none;height:auto;min-height:0;max-height:calc(100dvh - 130px);margin:0;padding:25px var(--gutter) 30px;overflow:auto;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 18px 24px #102f5012;z-index:30}
  .header.montiniweb-menu-open .wp-block-navigation .wp-block-navigation__responsive-container {display:block!important;animation:montiniweb-menu-in .2s ease-out}
  .header.montiniweb-menu-ready .wp-block-navigation__responsive-close,
  .header.montiniweb-menu-ready .wp-block-navigation__responsive-dialog {margin:0;max-width:none}
  .header.montiniweb-menu-ready .wp-block-navigation__responsive-container-content {display:flex;padding:0;align-items:stretch;gap:0}
  .header.montiniweb-menu-ready .wp-block-navigation__container {display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0;font-size:22px}
  .header.montiniweb-menu-ready .wp-block-navigation-item {width:100%;margin:0}
  .header.montiniweb-menu-ready .wp-block-navigation-item__content {display:block;width:100%;padding:12px 0}
  .header.montiniweb-menu-ready .wp-block-navigation-item:last-child a {display:inline-flex;justify-content:space-between;width:100%;margin:18px 0 0;padding:15px 20px;font-size:15px}
}
@keyframes montiniweb-menu-in {from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* Stationary frames; only their website content scrolls, down and back up. */
.browser-object,.mobile-object,.mini-graphic span {animation:none}
.browser-object {transform:rotateY(-12deg) rotateX(7deg) rotateZ(-6deg)}
.mobile-object {transform:rotateY(-10deg) rotateZ(6deg);padding:22px 6px 8px;overflow:hidden}
.browser-body,.mobile-viewport {overflow:hidden;background:var(--preview-bg);color:var(--preview-ink)}
.mobile-viewport {height:100%;width:100%;border-radius:4px}
.preview-page {--scroll-distance:max(0px, calc(100% - var(--preview-viewport-height, 279px)));animation:montiniweb-preview-scroll 18s ease-in-out 3s infinite;will-change:transform;background:var(--preview-bg)}
.preview-hero {min-height:279px}
.preview-page .mini-site {min-height:238px}
.preview-intro,.preview-work,.preview-end {padding:26px 22px}
.preview-intro {background:#f3f4e9}
.preview-kicker {display:block;font-size:6px;letter-spacing:.16em;line-height:1.4}
.preview-heading {font-size:29px;letter-spacing:-.055em;line-height:1.05;margin:13px 0 17px}
.preview-copy-lines {display:grid;gap:5px;max-width:70%;padding-bottom:5px}
.preview-copy-lines i {display:block;height:3px;background:#163c4a26}
.preview-copy-lines i:last-child {width:67%}
.preview-work {background:var(--preview-bg)}
.preview-cards {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.preview-card b,.preview-card>span:last-child {display:block;font-size:8px;line-height:1.4;margin-top:8px;font-weight:400}
.preview-card>span:last-child {font-size:5px;letter-spacing:.05em;margin-top:3px}
.preview-card-art {display:block;position:relative;aspect-ratio:1.18;overflow:hidden}
.art-one {background:#079be5}
.art-one:before {content:'';position:absolute;inset:15% 25%;border:12px solid #d8e7e7;border-radius:45%;transform:rotate(-35deg)}
.art-one:after {content:'';position:absolute;width:45%;height:125%;left:32%;top:-10%;background:#163c4a;transform:rotate(35deg);mix-blend-mode:multiply}
.art-two {background:#173e56}
.art-two:before,.art-two:after {content:'';position:absolute;width:95%;height:95%;border-radius:50%;background:#38b5da;left:-25%;top:20%}
.art-two:after {background:#d8e7e7;left:35%;top:-25%}
.preview-end {background:#163c4a;color:#f3f4e9}
.preview-end-line {display:block;height:1px;background:#d8e7e755;margin:24px 0 14px}
.preview-end>b {font-size:10px;font-weight:500}
.mobile-viewport .preview-hero {min-height:191px}
.mobile-viewport .mini-nav {padding:8px 6px;font-size:4px}
.mobile-viewport .mini-nav b {font-size:6px}
.mobile-viewport .mini-nav>span {display:none}
.mobile-viewport .mini-site {padding:6px;min-height:165px}
.mobile-viewport .mini-eyebrow {font-size:3px;letter-spacing:.1em}
.mobile-viewport .mini-title {font-size:16px;margin-top:7px}
.mobile-viewport .mini-graphic {width:137px;height:180px;transform:scale(.26) rotate(-30deg);transform-origin:top left;left:33px;right:auto;top:63px}
.mobile-viewport .mini-bottom {margin-top:63px;font-size:4px}
.mobile-viewport .mini-arrow {width:13px;height:13px;font-size:8px}
.mobile-viewport .preview-intro,.mobile-viewport .preview-work,.mobile-viewport .preview-end {padding:16px 8px}
.mobile-viewport .preview-kicker {font-size:3px}
.mobile-viewport .preview-heading {font-size:14px;margin:9px 0 12px}
.mobile-viewport .preview-copy-lines {max-width:90%;gap:3px}
.mobile-viewport .preview-copy-lines i {height:2px}
.mobile-viewport .preview-cards {grid-template-columns:1fr;gap:15px;margin-top:10px}
.mobile-viewport .preview-card b {font-size:6px;margin-top:6px}
.mobile-viewport .preview-card>span:last-child {font-size:3px}
.mobile-viewport .art-one:before {border-width:7px}
.mobile-viewport .preview-end-line {margin:16px 0 12px}
.mobile-viewport .preview-end>b {font-size:6px}
@keyframes montiniweb-preview-scroll {
  0% {transform:translateY(0)}
  42%,57% {transform:translateY(calc(-1 * var(--scroll-distance)))}
  90%,100% {transform:translateY(0)}
}
@media (max-width:760px) {
  .preview-hero {min-height:177px}
  .preview-page .mini-site {min-height:150px}
  .preview-intro,.preview-work,.preview-end {padding:18px 14px}
  .preview-heading {font-size:21px;margin:10px 0 13px}
  .preview-kicker {font-size:5px}
  .preview-cards {gap:10px;margin-top:12px}
  .preview-card b {font-size:6px}
  .preview-card>span:last-child {font-size:4px}
  .art-one:before {border-width:8px}
  .mobile-object {padding:17px 4px 6px}
  .mobile-viewport .preview-hero {min-height:133px}
  .mobile-viewport .mini-nav {padding:6px 4px}
  .mobile-viewport .mini-nav b {font-size:4px}
  .mobile-viewport .preview-page .mini-site {padding:4px;min-height:111px}
  .mobile-viewport .mini-title {font-size:11px;margin-top:5px}
  .mobile-viewport .mini-eyebrow {font-size:2px}
  .mobile-viewport .mini-graphic {transform:scale(.18) rotate(-30deg);left:24px;top:45px}
  .mobile-viewport .mini-bottom {font-size:3px;margin-top:43px}
  .mobile-viewport .mini-arrow {width:9px;height:9px;font-size:6px}
  .mobile-viewport .preview-intro,.mobile-viewport .preview-work,.mobile-viewport .preview-end {padding:12px 6px}
  .mobile-viewport .preview-heading {font-size:10px}
  .mobile-viewport .preview-kicker {font-size:2.5px}
  .mobile-viewport .preview-card b {font-size:4px}
  .mobile-viewport .preview-card>span:last-child {font-size:2.5px}
}
.scene-suspended .web-scene * {animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce) {
  .preview-page,.header.montiniweb-menu-open .wp-block-navigation .wp-block-navigation__responsive-container {animation:none!important}
  .preview-page {will-change:auto}
}

/* Opaque mobile panel: override WordPress navigation's transparent background. */
@media (max-width:760px) {
  .header.montiniweb-menu-ready .wp-block-navigation .wp-block-navigation__responsive-container {
    background:var(--paper, #f5f3ee)!important;
    color:var(--ink, #102f50)!important;
    opacity:1;
  }
  .header.montiniweb-menu-ready .wp-block-navigation__responsive-container-content,
  .header.montiniweb-menu-ready .wp-block-navigation-item__content {
    color:var(--ink, #102f50)!important;
  }
}

/* Match the phone frame to the larger device; keep the screen background separate. */
.mobile-object {background:#0c2538;border-color:#a5e2ff66}

/* Start without waiting for JavaScript or a scroll interaction. JavaScript refines the distance when available. */
.browser-body {--preview-viewport-height:279px}
.mobile-viewport {--preview-viewport-height:193px}
@media (min-width:1700px) {
  .browser-body {--preview-viewport-height:343px}
  .mobile-viewport {--preview-viewport-height:218px}
}
@media (max-width:1100px) {
  .browser-body {--preview-viewport-height:235px}
}
@media (max-width:760px) {
  .browser-body {--preview-viewport-height:177px}
  .mobile-viewport {--preview-viewport-height:133px}
}

/* Larger desktop logo uses the existing header height and its surrounding space. */
@media (min-width:761px) {
  .header .brand img {width:clamp(230px, 20vw, 280px);height:auto}
}


/* Service pages: editable core blocks with the homepage's visual language. */
.service-page {overflow:hidden}
.service-hero {background:var(--navy);color:var(--paper);padding-top:45px;padding-bottom:80px;position:relative;isolation:isolate}
.service-hero:after {content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 95% 0,#079be526,transparent 60%);pointer-events:none}
.service-breadcrumb {font-size:12px;color:#acc3d1;margin:0 0 65px}
.service-breadcrumb a {text-decoration:underline;text-underline-offset:4px}
.service-breadcrumb span {margin:0 12px;color:#628198}
.service-hero .section-tag {color:#71caff;font-size:10px;letter-spacing:.14em;margin:0 0 24px}
.service-hero h1 {font-size:clamp(48px,6.8vw,106px);line-height:1.04;letter-spacing:-.055em;font-weight:500;max-width:1200px;margin:0 0 28px}
.service-lead {font-size:clamp(19px,2vw,27px);line-height:1.45;color:#c2cfd7;max-width:810px;margin:0 0 32px}
.service-section {max-width:1320px;margin:0 auto;padding-top:75px;padding-bottom:75px}
.service-section>h2 {font-size:clamp(32px,3.8vw,57px);max-width:920px;margin:0 0 30px}
.service-section>p {font-size:18px;line-height:1.75;max-width:850px;margin:0 0 20px}
.service-section+.service-section {padding-top:15px}
.service-card-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-card {border-top:1px solid var(--line);padding:24px 20px 10px 0;min-width:0}
.service-card-number,.service-step-number {font:12px monospace;color:#578391;margin:0 0 25px}
.service-card h3 {font-size:27px;font-weight:400;letter-spacing:-.035em;line-height:1.15;margin:0 0 17px}
.service-card>p:last-child {font-size:16px;line-height:1.7;color:#526b78;margin:0}
.service-case {background:#e7eeec;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:7%;align-items:center}
.service-case .wp-block-image {margin:0}
.service-case-image {padding:25px;background:#d1dddc;border-radius:4px;min-width:0}
.service-case-image img {display:block;width:100%;height:auto;box-shadow:0 12px 35px #102f5020}
.service-case-copy {min-width:0}
.service-case-copy .section-tag {font-size:9px;color:#5d7a85;margin:0 0 25px}
.service-case-copy h2 {font-size:clamp(31px,3.7vw,57px);margin:0 0 24px}
.service-case-copy>p {font-size:16px;line-height:1.7}
.service-faq-item {padding:24px 0;border-top:1px solid var(--line)}
.service-faq-item h3 {font-size:23px;font-weight:500;letter-spacing:-.025em;line-height:1.3;margin:0 0 13px}
.service-faq-item p {font-size:16px;line-height:1.7;color:#526b78;max-width:880px;margin:0}
.service-related {background:#e8edec}
.service-related>.section-tag {margin:0 0 30px}
.service-related-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.service-related-grid p {margin:0}
.service-related-grid .line-link {margin:0;font-size:16px;min-height:75px}
.service-cta {background:#d8e9ec}
.service-cta>.section-tag {margin:0 0 30px}
.service-cta h2 {font-size:clamp(45px,6.6vw,96px);margin:0 0 26px}
.service-cta>p:not(.section-tag) {font-size:18px;line-height:1.7;max-width:730px;margin:0 0 30px}
.service-process {max-width:1320px;margin:0 auto}
.service-step {display:grid;grid-template-columns:70px minmax(0,1fr);border-top:1px solid var(--line);padding:30px 0;gap:20px}
.service-step-number {margin-top:9px}
.service-step-copy h2 {font-size:clamp(27px,3.2vw,44px);margin:0 0 15px}
.service-step-copy p {font-size:17px;line-height:1.7;max-width:850px;margin:0}
.footer .footer-links {grid-column:1/-1;display:flex;gap:12px 24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px}
.footer-links p {font-size:12px;margin:0}
.footer-links a:hover {text-decoration:underline;text-underline-offset:4px}
.header .wp-block-navigation__submenu-container {background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--line);box-shadow:0 14px 30px #102f5014;min-width:245px;padding:10px 0}
.header .wp-block-navigation__submenu-container .wp-block-navigation-item a {border:0;border-radius:0;margin:0;padding:12px 20px;font-size:14px;line-height:1.3}
.header .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {background:#e8edec}
@media (max-width:1000px) {
 .service-card-grid {gap:15px}
 .service-card h3 {font-size:24px}
 .service-case {gap:30px}
 .service-related-grid {gap:20px}
}
@media (max-width:760px) {
 .service-hero {padding-top:25px;padding-bottom:50px}
 .service-breadcrumb {font-size:11px;margin-bottom:40px}
 .service-hero h1 {font-size:clamp(40px,10vw,65px);line-height:1.05;margin-bottom:24px}
 .service-hero .section-tag {font-size:8px;margin-bottom:20px}
 .service-lead {font-size:19px;line-height:1.5;margin-bottom:28px}
 .service-section {padding-top:50px;padding-bottom:50px}
 .service-section>h2 {font-size:35px;margin-bottom:23px}
 .service-section>p {font-size:16px;line-height:1.7}
 .service-card-grid,.service-case,.service-related-grid {grid-template-columns:minmax(0,1fr)}
 .service-card {padding:22px 0 15px}
 .service-card-number {margin-bottom:18px}
 .service-card h3 {font-size:26px}
 .service-case {gap:30px}
 .service-case-image {padding:16px}
 .service-case-copy h2 {font-size:36px}
 .service-case-copy .section-tag {margin-bottom:20px}
 .service-faq-item h3 {font-size:22px}
 .service-related-grid {gap:0}
 .service-related-grid .line-link {min-height:65px}
 .service-cta h2 {font-size:clamp(42px,11vw,64px)}
 .service-cta>p:not(.section-tag) {font-size:16px}
 .service-step {grid-template-columns:27px minmax(0,1fr);gap:12px;padding:25px 0}
 .service-step-copy h2 {font-size:28px}
 .service-step-copy p {font-size:16px}
 .header.montiniweb-menu-ready .wp-block-navigation .wp-block-navigation__submenu-container {position:static;inset:auto;width:100%;min-width:0;height:auto;max-height:none;overflow:visible;visibility:visible;opacity:1;display:flex!important;flex-direction:column;gap:0;transform:none;box-shadow:none;border:0;border-left:1px solid var(--line);margin:2px 0 16px;padding:0 0 0 12px}
 .header.montiniweb-menu-ready .wp-block-navigation__submenu-container .wp-block-navigation-item a {padding:9px 6px!important;margin:0!important;font-size:16px!important;border:0!important}
 .header.montiniweb-menu-ready .wp-block-navigation-submenu__toggle,.header.montiniweb-menu-ready .wp-block-navigation__submenu-icon {display:none!important}
}


/* 1.2.1: place the Services submenu below its label on small screens. */
@media (max-width:760px) {
  .header.montiniweb-menu-ready .wp-block-navigation__container > .wp-block-navigation-item.has-child {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:0;
    min-width:0;
  }
  .header.montiniweb-menu-ready .wp-block-navigation__container > .wp-block-navigation-item.has-child > .wp-block-navigation-item__content {
    width:100%;
    flex:none;
  }
  .header.montiniweb-menu-ready .wp-block-navigation .wp-block-navigation__submenu-container {
    align-self:stretch;
    align-items:stretch;
    flex:none;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    margin-left:0;
  }
  .header.montiniweb-menu-ready .wp-block-navigation__submenu-container > .wp-block-navigation-item {
    display:block;
    width:100%;
    min-width:0;
  }
  .header.montiniweb-menu-ready .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    display:block!important;
    box-sizing:border-box;
    width:100%;
    white-space:normal;
    overflow-wrap:break-word;
    line-height:1.4;
  }
}


/* Portfolio/blog archives and native editable article pages. */
.content-archive .service-hero {padding-bottom:65px}
.archive-list {padding-top:65px}
.archive-query .wp-block-post-template {gap:45px 30px;margin:0;padding:0}
.archive-card {height:100%;display:flex;flex-direction:column;min-width:0}
.archive-cover {margin:0 0 22px;background:#e0e8e7;border-radius:3px;overflow:hidden}
.archive-cover a {display:block}
.archive-cover img {display:block;width:100%;object-fit:cover;transition:transform .35s}
.archive-card:hover .archive-cover img {transform:scale(1.025)}
.archive-card .wp-block-post-title {font-size:clamp(22px,2.2vw,31px);letter-spacing:-.035em;line-height:1.16;margin:0 0 15px;font-weight:400;overflow-wrap:break-word}
.archive-card .wp-block-post-title a:hover {text-decoration:underline;text-underline-offset:4px}
.archive-card .wp-block-post-excerpt {font-size:15px;line-height:1.7;color:#526b78;margin:0}
.archive-card .wp-block-post-excerpt__excerpt {margin:0 0 18px}
.archive-card .wp-block-post-excerpt__more-text {margin:0}
.archive-card .wp-block-post-excerpt__more-link {font-size:13px;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:5px}
.archive-date {font-size:11px;color:#5f7d89;margin:0 0 12px}
.archive-pagination {margin-top:60px;gap:14px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;font-size:14px}
.archive-pagination .page-numbers {display:inline-grid;place-items:center;min-width:36px;min-height:36px;border:1px solid var(--line);border-radius:50%;margin:3px}
.archive-pagination .page-numbers.current {color:white;background:var(--ink);border-color:var(--ink)}
.entry-heading {background:var(--navy);color:var(--paper);padding-top:55px;padding-bottom:65px}
.entry-heading .section-tag {color:#71caff;margin:0 0 25px}
.entry-heading .wp-block-post-title {font-size:clamp(37px,5vw,78px);line-height:1.08;font-weight:500;letter-spacing:-.05em;max-width:1180px;margin:0;overflow-wrap:break-word}
.entry-date {font-size:12px;color:#b8cdd9;margin:0 0 23px}
.entry-cover-wrap {max-width:1250px;padding:0 var(--gutter);margin:50px auto}
.entry-cover {margin:0;background:#e0e8e7}
.entry-cover img {display:block;width:100%;height:auto;max-height:640px;object-fit:contain}
.entry-body,.entry-taxonomy,.entry-return {max-width:900px;width:calc(100% - 48px);margin:0 auto}
.entry-body {padding:0 0 50px}
.entry-body .wp-block-post-content>p,.entry-body .wp-block-post-content li {font-size:18px;line-height:1.85;color:#294b60}
.entry-body .wp-block-post-content>p {margin:0 0 25px}
.entry-body h2 {font-size:clamp(29px,3vw,43px);line-height:1.15;letter-spacing:-.035em;font-weight:500;margin:48px 0 23px}
.entry-body h3 {font-size:clamp(24px,2.3vw,31px);line-height:1.2;font-weight:500;letter-spacing:-.025em;margin:35px 0 19px}
.entry-body h4,.entry-body h5,.entry-body h6 {font-size:21px;font-weight:500;line-height:1.35;margin:30px 0 16px}
.entry-body ul,.entry-body ol {padding-left:25px;margin:20px 0 30px}
.entry-body li {margin-bottom:12px}
.entry-body a {color:#006fa5;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.entry-body .wp-block-image,.entry-body .wp-block-video {margin:35px 0}
.entry-body .wp-block-image img {max-width:100%;height:auto;display:block;margin:auto;max-height:1100px;object-fit:contain}
.entry-body .wp-block-video video {display:block;width:100%;height:auto;max-height:700px;background:#0c2538;object-fit:contain}
.entry-body figcaption {font-size:13px;line-height:1.6;color:#5c7886;margin-top:12px;text-align:center}
.entry-body blockquote {margin:30px 0;padding:15px 25px;border-left:3px solid var(--blue);background:#e8edec}
.entry-body pre {white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;background:#e8edec;font-size:14px}
.entry-body .historical-note {font-size:14px!important;line-height:1.6!important;border-left:3px solid #7096a9;padding:17px 20px;background:#e8edec}
.entry-taxonomy {font-size:12px;line-height:1.7;color:#526b78;border-top:1px solid var(--line);padding-top:22px}
.entry-return {padding:20px 0 70px}
.entry-return .line-link {max-width:360px}
@media (max-width:1000px) {
 .archive-query .wp-block-post-template {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px}
}
@media (max-width:760px) {
 .content-archive .service-hero {padding-bottom:45px}
 .archive-list {padding-top:40px}
 .archive-query .wp-block-post-template {grid-template-columns:minmax(0,1fr);gap:38px}
 .archive-card .wp-block-post-title {font-size:27px}
 .archive-cover {margin-bottom:18px}
 .entry-heading {padding-top:35px;padding-bottom:40px}
 .entry-heading .wp-block-post-title {font-size:clamp(34px,8vw,55px)}
 .entry-heading .section-tag {font-size:9px;margin-bottom:20px}
 .entry-cover-wrap {padding:0 24px;margin:30px auto}
 .entry-body .wp-block-post-content>p,.entry-body .wp-block-post-content li {font-size:16px;line-height:1.8}
 .entry-body h2 {font-size:30px;margin-top:35px}
 .entry-body h3 {font-size:25px}
 .entry-body h4 {font-size:21px}
 .entry-body blockquote {padding:12px 18px}
 .entry-body .wp-block-video video {max-height:560px}
 .entry-return {padding-bottom:45px}
}

/* Lightweight scroll-reveal animations and micro-interactions */
.reveal-on-scroll,
.project-card,
.service-row,
.mw-review-card,
.archive-card {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-on-scroll.is-revealed,
.project-card.is-revealed,
.service-row.is-revealed,
.mw-review-card.is-revealed,
.archive-card.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

.project-grid .project-card:nth-child(2) {
  transition-delay: 0.12s;
}
.project-grid .project-card:nth-child(3) {
  transition-delay: 0.05s;
}
.project-grid .project-card:nth-child(4) {
  transition-delay: 0.15s;
}

.project-window {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.project-card:hover .project-window {
  transform: translateY(-5px) scale(1.015);
  box-shadow: 0 20px 35px rgba(18, 47, 80, 0.15);
}

.line-link span,
.text-link span,
.wp-block-button__link span {
  display: inline-block;
  transition: transform 0.25s ease;
}

.line-link:hover span,
.text-link:hover span,
.wp-block-button__link:hover span {
  transform: translate(3px, -3px);
}

@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll,
  .project-card,
  .service-row,
  .mw-review-card,
  .archive-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* Portfolio: compact headings, portrait previews beside their description. */
.entry-project .entry-heading .wp-block-post-title {
 font-size:clamp(30px,3.4vw,52px);line-height:1.16;letter-spacing:-.035em;
}
.entry-project .entry-body {max-width:1120px}
.entry-project .entry-body .wp-block-post-content p,
.entry-project .entry-body .wp-block-post-content li {font-size:18px;line-height:1.85;color:#294b60}
.entry-project .entry-body .wp-block-post-content p {margin:0 0 25px}
.entry-project .project-media-row {margin:35px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:30px;align-items:start}
.entry-project .project-media-copy {min-width:0;margin:0}
.entry-project .project-portrait {width:100%;max-width:340px;margin:35px auto}
.entry-project .project-media-row>.project-portrait {margin:0 auto}
.entry-project .project-portrait .wp-block-image,
.entry-project .project-portrait .wp-block-video {margin:0}
.entry-project .project-portrait img,
.entry-project .project-portrait video {width:100%;height:auto;max-height:none;object-fit:contain}
.entry-project .project-media-copy>:first-child {margin-top:0}
@media (min-width:768px) {
 .entry-project .project-media-row {display:flow-root}
 .entry-project .project-media-row>.project-portrait {float:right;width:31%;min-width:220px;margin:0 0 28px clamp(28px,4vw,60px)}
 .entry-project .project-media-copy {display:contents}
}
@media (max-width:767px) {
 .entry-project .entry-heading .wp-block-post-title {font-size:clamp(28px,6.5vw,39px)}
 .entry-project .entry-body .wp-block-post-content p,
 .entry-project .entry-body .wp-block-post-content li {font-size:16px;line-height:1.8}
}

/* Use complete project screenshots rather than cropped featured thumbnails. */
.entry-project .entry-cover img {height:auto!important;max-height:none;aspect-ratio:auto!important;object-fit:contain!important}
.entry-project .entry-cover {overflow:visible}
.entry-project .entry-body .wp-block-image img {max-height:none}
.entry-project .entry-heading + .entry-body {margin-top:50px}
@media(max-width:767px) {.entry-project .entry-heading + .entry-body {margin-top:30px}}

/* Shared breadcrumb navigation inside article and project headers. */
.entry-heading .entry-breadcrumbs {margin:0 0 30px;color:#b8cdd9;font-size:12px;line-height:1.6;letter-spacing:0;text-transform:none}
.entry-breadcrumbs ol {display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 0;list-style:none;margin:0;padding:0}
.entry-breadcrumbs li {display:flex;align-items:baseline;gap:10px;margin:0;padding:0;min-width:0}
.entry-breadcrumbs li + li {margin-left:10px}
.entry-breadcrumbs li:last-child {flex:0 1 auto}
.entry-breadcrumbs__separator {color:#809eb1;flex:none}
.entry-breadcrumbs a {color:inherit;white-space:nowrap;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.entry-breadcrumbs a:hover {color:#fff}
.entry-breadcrumbs a:focus-visible {outline:2px solid #71caff;outline-offset:4px;border-radius:2px}
.entry-breadcrumbs [aria-current="page"] {overflow-wrap:anywhere;min-width:0}
@media(max-width:767px) {
 .entry-heading .entry-breadcrumbs {font-size:11px;margin-bottom:24px}
 .entry-breadcrumbs li {gap:8px}
 .entry-breadcrumbs li + li {margin-left:8px}
}

/* Keep landscape media complete, including featured images and archive cards. */
.entry-single .entry-cover.mw-media-landscape,
.archive-cover.mw-media-landscape,
.archive-cover.mw-media-landscape a,
.entry-single .entry-body .wp-block-image.mw-media-landscape {height:auto!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible}
.entry-single .entry-cover.mw-media-landscape img,
.entry-single .entry-body .wp-block-image.mw-media-landscape img,
.archive-cover.mw-media-landscape img {height:auto!important;max-height:none!important;aspect-ratio:var(--mw-image-ratio,auto)!important;object-fit:contain!important;object-position:center!important;max-width:100%}
.archive-card:hover .archive-cover.mw-media-landscape img {transform:none}

/* Persistent navigation; compact spacing keeps the logo and menu easy to use. */
html {scroll-padding-top:var(--mw-sticky-scroll-offset,120px)}
.mw-sticky-header {--mw-header-height:100px;position:sticky;top:var(--mw-admin-offset,0px);z-index:100;overflow:visible}
.mw-sticky-header.is-compact {--mw-header-height:84px}
.mw-sticky-header .header,
.header.mw-sticky-header {height:var(--mw-header-height);padding-top:0;padding-bottom:0;transition:height .22s ease,box-shadow .22s ease}
.mw-sticky-header.is-compact .header,
.header.mw-sticky-header.is-compact {box-shadow:0 5px 18px #102f5012}
@media(max-width:760px) {
 .mw-sticky-header {--mw-header-height:80px}
 .mw-sticky-header.is-compact {--mw-header-height:68px}
 .mw-sticky-header .header.montiniweb-menu-ready .wp-block-navigation .wp-block-navigation__responsive-container {max-height:calc(100dvh - var(--mw-admin-offset,0px) - var(--mw-header-height) - 12px)}
}
@media(prefers-reduced-motion:reduce) {
 .mw-sticky-header .header,.header.mw-sticky-header {transition:none}
}


/* Additional reading stays beside the text only on wide desktop windows. */
.entry-sidebar {display:none}
@media (min-width:1500px) {
 .entry-single .entry-body {max-width:1440px;width:calc(100% - 2 * var(--gutter))}
 .entry-reading-layout {display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:64px;align-items:start}
 .entry-reading-layout>.wp-block-post-content {min-width:0;width:100%;max-width:900px;margin:0 auto}
 .entry-project .entry-reading-layout>.wp-block-post-content {max-width:1120px}
 .entry-body .entry-sidebar {display:block;min-width:0;border-left:1px solid var(--line);padding-left:26px}
 .entry-body .entry-sidebar h2 {font-size:23px;line-height:1.25;letter-spacing:-.025em;margin:0 0 24px;font-weight:500}
 .entry-body .entry-sidebar ul {list-style:none;margin:0;padding:0}
 .entry-body .entry-sidebar li {margin:0;padding:19px 0;border-top:1px solid var(--line)}
 .entry-body .entry-sidebar a {color:var(--ink);text-decoration:none;overflow-wrap:break-word}
 .entry-body .entry-sidebar__link {display:flex;gap:14px;align-items:flex-start;font-size:16px;line-height:1.45}
 .entry-sidebar__image {display:block;flex:0 0 76px;width:76px;height:58px;object-fit:contain;background:#e0e8e7;border-radius:3px}
 .entry-sidebar__link span {min-width:0}
 .entry-sidebar a:hover span,.entry-sidebar__all:hover {text-decoration:underline;text-underline-offset:4px}
 .entry-sidebar a:focus-visible {outline:2px solid var(--blue);outline-offset:4px}
 .entry-body .entry-sidebar__all {display:inline-block;margin-top:20px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:6px}
}

/* On wide screens the cover shares the text-plus-sidebar outer edges. */
@media (min-width:1500px) {
 .entry-single .entry-cover-wrap {box-sizing:border-box;max-width:1440px;width:calc(100% - 2 * var(--gutter));padding-left:0;padding-right:0;margin-left:auto;margin-right:auto}
}


/* Keep the additional Contact item comfortable on tablet desktop navigation. */
@media (min-width:761px) and (max-width:1100px) {
 .header .brand img {width:clamp(165px,18vw,200px)}
 .header .wp-block-navigation {font-size:12px}
 .header .wp-block-navigation__container {gap:14px}
 .header .wp-block-navigation-item:last-child a {padding:12px 14px;margin-left:0}
}
