:root{--paper:#f4f1e9;--ink:#17241f;--muted:#686e62;--line:#d7d4ca;--sage:#dce2d4;--sage-dark:#7f8f72;--orange:#e2a873;--serif:Georgia,'Times New Roman',serif;--sans:'Avenir Next','Segoe UI',Arial,sans-serif;--display:'Avenir Next','Segoe UI',Arial,sans-serif;--mono:Menlo,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip-link{position:absolute;top:-60px;left:1rem;background:var(--ink);color:white;padding:.6rem 1rem;z-index:10}.skip-link:focus{top:1rem}.section-wrap{max-width:1280px;margin:auto;padding-left:6.5vw;padding-right:6.5vw}.topbar{height:82px;padding:0 6.5vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;font:700 18px var(--display);letter-spacing:-.7px}.brand img{display:block}.brand-light{font-weight:500;color:#667066}.nav{display:flex;align-items:center;gap:35px;font-size:13px}.nav>a:not(.nav-cta){color:#555e53}.nav a:hover,.text-link:hover{color:#a75f32}.nav-cta{border:1px solid var(--ink);padding:10px 15px;border-radius:2px}.nav-cta span{margin-left:14px}.menu-toggle{display:none;background:none;border:0;color:var(--ink)}.hero{min-height:690px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;position:relative;padding-top:60px;padding-bottom:91px}.hero-copy{position:relative;z-index:1;padding-bottom:18px}.eyebrow,.service-number,.art-label,.art-caption,.showcase-top>span,.contact-top>span,.steps article>b,.footer-bottom,.caption{font:11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px;color:#687160}.pulse{width:7px;height:7px;background:#a6af8a;border-radius:50%;box-shadow:0 0 0 4px #a6af8a22}.hero h1{font:500 clamp(49px,6.1vw,82px)/1.06 var(--display);letter-spacing:-.065em;margin:27px 0 22px}.hero h1 em,.intro h2 em,.section-head h2 em,.showcase-copy h2 em,.method h2 em,.faq h2 em,.contact h2 em{font:italic 400 1.02em var(--serif);letter-spacing:-.055em}.hero-lede{max-width:485px;color:#60675d;font-size:17px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:15px 18px;border:0;font-size:13px;font-weight:600;cursor:pointer}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#31433a}.button span{font-size:17px}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid #a1a395;padding-bottom:5px}.text-link span{margin-left:7px}.hero-note{display:flex;align-items:center;gap:13px;margin-top:58px;color:#6b7168;font:12px/1.55 var(--mono)}.note-mark{font:30px var(--serif);color:#d79561}.hero-art{height:520px;background:#e9e6dc;position:relative;overflow:hidden;display:grid;place-items:center}.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid #c7c8bc;width:80%;height:80%;border-radius:50%}.hero-art:after{width:57%;height:57%;border-style:dashed}.orbit{width:min(100%,520px);position:relative;z-index:1}.art-label{position:absolute;top:23px;left:24px;color:#818578;font-size:9px}.art-caption{position:absolute;bottom:21px;left:24px;right:24px;display:flex;justify-content:space-between;border-top:1px solid #ccccc1;padding-top:12px;color:#697064;font-size:9px}.art-stamp{position:absolute;right:17%;top:18%;font:9px/1.5 var(--mono);letter-spacing:.1em;color:#73796d;transform:rotate(9deg);text-align:center}.hero-bottom{position:absolute;bottom:25px;left:6.5vw;right:6.5vw;border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.06em;color:#71776c}.hero-bottom b{color:#a56f45;font-size:16px;margin-left:10px}.intro{padding-top:125px;padding-bottom:130px}.intro>.eyebrow{display:block;border-bottom:1px solid var(--line);padding-bottom:15px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:35px 0 69px}.intro h2,.section-head h2,.showcase-copy h2,.method h2,.faq h2,.contact h2{font:500 clamp(42px,5vw,66px)/1.1 var(--display);letter-spacing:-.065em;margin:0}.intro-grid>div{max-width:500px;padding-top:4px}.intro-grid p{color:#646b61;font-size:14px;line-height:1.85}.intro-grid .body-large{font:21px/1.55 var(--display);color:var(--ink);letter-spacing:-.03em}.intro-grid .text-link{display:inline-block;margin-top:13px}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.principles>div{padding:21px 24px 0 0}.principles>div+div{border-left:1px solid var(--line);padding-left:24px}.principles span{display:block;font:10px var(--mono);color:#8a907f;margin-bottom:22px}.principles b{font:600 16px var(--display)}.principles p{color:#72766c;font-size:13px;max-width:280px}.services{background:#e8e6dd;padding-top:114px;padding-bottom:122px;max-width:none}.services>.section-head,.services>.service-list{max-width:1114px;margin-left:auto;margin-right:auto}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:57px}.section-head .eyebrow{margin:0 0 18px}.section-head h2{font-size:clamp(39px,4.5vw,59px)}.section-head>p{width:300px;color:#6c7168;font-size:13px;margin:0 0 5px}.service-list{border-top:1px solid #c9c8bd}.service-card{display:grid;grid-template-columns:130px 90px 1fr 30px;align-items:start;gap:24px;padding:29px 4px 28px;border-bottom:1px solid #c9c8bd}.service-number{font-size:10px;color:#757b6e;padding-top:8px}.service-icon{width:66px;height:66px;border:1px solid #b9bdb0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4f6356}.icon-window{gap:4px;align-content:center;flex-wrap:wrap;padding:17px 15px 11px}.icon-window span{height:4px;width:4px;border-radius:50%;background:#98a48c}.icon-window i{width:34px;height:22px;border:1px solid #83917e;display:block;margin-top:3px;position:relative}.icon-window i:before{content:"";position:absolute;left:0;right:0;top:5px;border-top:1px solid #83917e}.icon-bag{font:37px var(--serif)}.icon-flow{gap:3px;font:8px var(--mono)}.icon-flow i{font-size:15px;font-style:normal}.icon-plus{font:31px var(--sans)}.service-copy h3{font:600 21px var(--display);letter-spacing:-.04em;margin:1px 0 8px}.service-copy p{max-width:650px;color:#646a61;font-size:13px;margin:0 0 11px;line-height:1.75}.service-copy ul{display:flex;flex-wrap:wrap;gap:7px 22px;list-style:none;padding:0;margin:0;color:#73776d;font-size:11px}.service-copy li:before{content:"↗";color:#8a987a;margin-right:6px}.service-arrow{font-size:17px;color:#77806e;padding-top:5px}.showcase{padding-top:125px;padding-bottom:125px}.showcase-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid var(--line)}.showcase-top .eyebrow{margin:0}.showcase-top>span{color:#9b6844;font-size:9px}.showcase-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center;padding-top:54px}.showcase-visual{background:#e6e2d7;padding:34px 25px;min-height:390px;display:grid;place-items:center;overflow:hidden}.mock-browser{width:100%;max-width:510px;box-shadow:0 20px 55px #2933281c;transform:rotate(-2deg)}.browser-bar{height:29px;background:#f5f2eb;display:flex;align-items:center;gap:5px;padding:0 10px}.browser-bar i{width:5px;height:5px;border-radius:50%;background:#d1a98a}.browser-bar i:nth-child(2){background:#c3c5a5}.browser-bar i:nth-child(3){background:#a5b09c}.browser-bar span{margin:auto;font:8px var(--mono);color:#96988e}.mock-site{height:295px;background:#dadfcf;position:relative;overflow:hidden;padding:18px 24px}.mock-nav{font:600 12px var(--serif);position:relative;z-index:2}.mock-nav small{float:right;font:7px var(--mono);color:#576452}.mock-nav b{background:#1c3127;color:white;padding:7px 9px;font-weight:400}.mock-content{position:relative;z-index:2;margin-top:48px}.mock-content>span{font:7px var(--mono);letter-spacing:.1em}.mock-content h3{font:italic 37px/.98 var(--serif);font-weight:400;margin:10px 0 15px;letter-spacing:-.04em}.mock-content button{background:#263a2c;color:white;border:0;padding:8px 12px;font:8px var(--mono)}.flower{position:absolute;color:#c77d65;font-size:100px;line-height:1;text-shadow:0 7px 18px #6b6c4824}.flower-a{right:45px;top:55px;font-size:155px;color:#ca9278}.flower-b{right:120px;top:144px;font-size:112px;color:#e2bb81}.flower-c{right:-7px;bottom:-25px;font-size:190px;color:#889578}.showcase-copy h2{font-size:clamp(39px,4.6vw,58px)}.showcase-copy>p{color:#666d61;font-size:14px;line-height:1.8}.showcase-copy>p:first-of-type{margin-top:25px}.showcase-tags{display:flex;gap:8px;flex-wrap:wrap;margin:21px 0}.showcase-tags span{font:9px var(--mono);border:1px solid #c9c8bc;border-radius:30px;padding:7px 11px;color:#70766a}.showcase-copy .caption{font-size:9px;color:#918e81;text-transform:none;letter-spacing:0}.method{padding-top:107px;padding-bottom:127px;border-top:1px solid var(--line)}.steps{border-top:1px solid var(--line)}.steps article{display:grid;grid-template-columns:70px 1fr 150px;gap:25px;border-bottom:1px solid var(--line);padding:24px 0 22px;align-items:start}.steps article>span{font:13px var(--mono);color:#8b927e;padding-top:5px}.steps article h3{font:600 20px var(--display);margin:0 0 4px;letter-spacing:-.04em}.steps article p{font-size:13px;color:#666d62;margin:0;max-width:590px}.steps article>b{justify-self:end;color:#878d7e;font-size:9px;padding-top:9px}.faq{padding-top:94px;padding-bottom:110px;background:#e8e6dd;max-width:none;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.faq>div:first-child{max-width:350px}.faq h2{font-size:53px}.faq>div:first-child>p:last-child{font-size:13px;color:#6a7066;margin-top:20px}.faq-list{border-top:1px solid #c9c8bd}.faq details{border-bottom:1px solid #c9c8bd;padding:19px 0}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:15px;font:600 16px var(--display)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"＋";font:18px var(--sans);color:#839078}.faq details[open] summary:after{content:"−"}.faq details p{max-width:560px;color:#656c61;font-size:13px;line-height:1.75;margin:12px 28px 3px 0}.contact{background:var(--ink);color:#f4f1e9;padding-top:34px;padding-bottom:91px;max-width:none}.contact-top{max-width:1114px;margin:auto;display:flex;justify-content:space-between;border-bottom:1px solid #506057;padding-bottom:14px}.contact-top .eyebrow{color:#b2b89d;margin:0}.contact-top>span{color:#a2ac98;font-size:9px}.contact-grid{max-width:1114px;margin:58px auto 0;display:grid;grid-template-columns:1fr .78fr;gap:10vw}.contact h2{font-size:clamp(44px,5.3vw,68px)}.contact-grid>div>p{color:#bac1b8;max-width:380px;font-size:14px;margin-top:25px}.contact form{display:flex;flex-direction:column}.contact label{font:10px var(--mono);color:#b3bdab;margin:0 0 5px}.contact input,.contact textarea{border:0;border-bottom:1px solid #607067;background:transparent;color:white;border-radius:0;padding:9px 0 12px;margin-bottom:22px;outline:none;resize:vertical}.contact input:focus,.contact textarea:focus{border-color:#d89e70}.contact input::placeholder,.contact textarea::placeholder{color:#7f8b81}.button-light{align-self:flex-start;background:#e2a873;color:#17241f;margin-top:4px}.button-light:hover{background:#f0bd91}.form-note{font-size:10px;color:#9da99e;margin:12px 0 0}.footer{padding-top:38px;padding-bottom:24px}.footer-brand{font-size:16px}.footer>p{font-size:12px;color:#72796e;margin:18px 0 37px}.footer-bottom{border-top:1px solid var(--line);padding-top:15px;color:#788073;font-size:9px;display:flex;justify-content:space-between;letter-spacing:.03em;text-transform:none}.footer-bottom b{color:#be8359;margin-left:7px}
@media(max-width:900px){.section-wrap{padding-left:5vw;padding-right:5vw}.topbar{padding:0 5vw}.hero{grid-template-columns:1fr .85fr;min-height:630px}.hero h1{font-size:clamp(45px,7vw,67px)}.hero-art{height:430px}.hero-bottom{left:5vw;right:5vw}.service-card{grid-template-columns:95px 67px 1fr 18px;gap:16px}.service-copy ul{display:block}.service-copy li{margin:3px 0}.showcase-grid{gap:5vw}.faq{gap:6vw}.contact-grid{gap:7vw}}
@media(max-width:650px){html{scroll-padding-top:65px}.topbar{height:68px}.brand{font-size:16px}.brand img{width:34px;height:34px}.menu-toggle{display:inline-flex;gap:8px;align-items:center;font-size:12px}.menu-toggle span{font-size:18px}.nav{display:none;position:absolute;z-index:5;top:68px;left:0;right:0;padding:17px 5vw 22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:5px}.nav.open{display:flex}.nav>a{padding:10px 0}.nav-cta{padding:11px 13px!important;margin-top:5px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:54px;padding-bottom:80px;min-height:0}.hero h1{font-size:clamp(45px,12vw,66px);margin-top:21px}.hero-lede{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-note{margin-top:32px}.hero-art{height:min(98vw,400px);margin-top:38px}.art-stamp{right:12%;top:17%}.hero-bottom{font-size:8px;bottom:20px}.hero-bottom span:last-child{text-align:right}.intro{padding-top:80px;padding-bottom:82px}.intro-grid{grid-template-columns:1fr;gap:22px;padding:27px 0 45px}.intro h2,.section-head h2{font-size:46px}.principles{grid-template-columns:1fr}.principles>div,.principles>div+div{padding:17px 0 12px;border-left:0;border-bottom:1px solid var(--line)}.principles span{margin-bottom:9px}.principles p{margin-bottom:2px}.services{padding-top:78px;padding-bottom:81px}.section-head{display:block;margin-bottom:34px}.section-head>p{width:auto;margin-top:17px}.service-card{grid-template-columns:1fr 43px 20px;gap:12px;padding:22px 0}.service-number{grid-column:1/-1;padding-top:0}.service-icon{width:42px;height:42px;grid-column:2;grid-row:2}.icon-window{padding:9px}.icon-window i{width:23px;height:14px}.icon-window i:before{top:4px}.service-copy{grid-column:1;grid-row:2}.service-copy h3{font-size:18px}.service-copy p{font-size:12px}.service-copy ul{font-size:10px}.service-arrow{grid-column:3;grid-row:2}.showcase{padding-top:79px;padding-bottom:78px}.showcase-top{align-items:flex-start;gap:15px;flex-direction:column}.showcase-top>span{font-size:8px}.showcase-grid{grid-template-columns:1fr;gap:33px;padding-top:30px}.showcase-visual{min-height:300px;padding:24px 15px}.mock-site{height:250px;padding:15px}.mock-nav small{font-size:6px}.mock-content{margin-top:43px}.mock-content h3{font-size:34px}.flower-a{font-size:122px;right:27px}.flower-b{right:82px;top:127px;font-size:90px}.flower-c{font-size:150px}.showcase-copy h2{font-size:44px}.method{padding-top:79px;padding-bottom:83px}.steps article{grid-template-columns:35px 1fr;gap:12px;padding:19px 0}.steps article>b{grid-column:2;justify-self:start;padding-top:6px}.steps article h3{font-size:17px}.steps article p{font-size:12px}.faq{padding-top:70px;padding-bottom:74px;grid-template-columns:1fr;gap:30px}.faq h2{font-size:44px}.faq summary{font-size:14px}.contact{padding-top:26px;padding-bottom:69px}.contact-top{align-items:flex-start;gap:8px;flex-direction:column}.contact-grid{margin-top:37px;grid-template-columns:1fr;gap:28px}.contact h2{font-size:50px}.contact-grid>div>p{margin-top:15px}.footer{padding-top:31px}.footer-bottom{flex-direction:column;gap:8px}.footer>p{margin-bottom:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Direzione visiva rifinita a partire dal concept Stitch: editoriale, calda e sobria. */
:root{--display:Georgia,'Times New Roman',serif;--sans:Manrope,'Avenir Next','Segoe UI',Arial,sans-serif;--accent:#c86d3c}
::selection{background:#dce2d4;color:#17241f}
.topbar{position:relative;z-index:4;background:rgba(244,241,233,.94)}
.brand{letter-spacing:-.04em}.brand-light{font-family:var(--sans);letter-spacing:-.02em}
.nav{gap:clamp(18px,3vw,35px)}
.nav-cta{border-radius:3px;transition:background .2s,color .2s,border-color .2s}
.nav-cta:hover{background:var(--ink);color:var(--paper)}
.hero{min-height:650px;gap:clamp(30px,5vw,72px)}
.hero h1{font-weight:400;letter-spacing:-.055em;line-height:1.04}
.hero h1 em,.intro h2 em,.section-head h2 em,.showcase-copy h2 em,.method h2 em,.faq h2 em,.contact h2 em{color:#65745d}
.hero-art{background:linear-gradient(145deg,#e9e6dc 0%,#e3e4d9 58%,#dce2d4 100%);box-shadow:0 24px 65px #17241f0d;border:1px solid #dedcd1}
.hero-art:before{width:74%;height:74%;border-color:#b9c1b1}
.hero-art:after{width:53%;height:53%;border-color:#c7c8bc}
.orbit{filter:drop-shadow(0 12px 15px #17241f12)}
.art-label,.art-caption{letter-spacing:.12em}
.button{border-radius:3px;transition:transform .18s,background .18s}
.button:hover{transform:translateY(-2px)}
.button-dark{background:#17241f}.button-dark:hover{background:#35483d}
.services,.faq{background:#eeece4}
.service-card{transition:padding .2s,background .2s}
.service-card:hover{background:#f4f1e94a}
.service-icon{background:#f4f1e95c}
.portfolio-card{transition:transform .2s}
.portfolio-card:hover{transform:translateY(-3px)}
.portfolio-thumb{border:1px solid #17241f0c}
.portfolio-card summary:focus-visible,.filter-button:focus-visible,.nav a:focus-visible,.button:focus-visible,.text-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.filter-button{border-radius:3px;transition:background .18s,color .18s,border-color .18s}
.portfolio-footnote{border-radius:0 3px 3px 0}
.contact{background:linear-gradient(135deg,#17241f,#24352d)}
.button-light{border-radius:3px}
@media(max-width:650px){.hero{gap:0}.hero-art{border-radius:2px}.hero h1{letter-spacing:-.06em}.portfolio-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.button,.portfolio-card,.service-card,.nav-cta,.filter-button{transition:none}}
.hero-gallery{position:relative;height:500px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}.hero-gallery-main{grid-column:1/3;grid-row:1/3;overflow:hidden}.hero-gallery img{width:100%;height:100%;object-fit:cover;display:block}.hero-gallery-main>span,.hero-gallery-small>span{position:absolute;color:white;background:#17241fc9;font:9px var(--mono);letter-spacing:.06em;padding:8px 10px}.hero-gallery-main>span{top:14px;left:14px}.hero-gallery-small{position:absolute;width:38%;height:39%;right:-20px;bottom:-20px;border:7px solid var(--paper);box-shadow:0 16px 40px #17241f24}.hero-gallery-small>span{bottom:0;left:0;font-size:8px}.gallery-note{position:absolute;left:-24px;bottom:24px;background:var(--paper);padding:18px 22px;font:23px/1.1 var(--serif);box-shadow:0 12px 35px #17241f16}.gallery-note em{color:#75816e}.gallery-note a{display:block;margin-top:12px;font:10px var(--sans);font-weight:600}.hero h1{font-size:clamp(54px,6vw,82px)}.hero-lede{font-size:16px}.intro h2,.section-head h2,.portfolio-heading h2,.method h2{font-weight:400}.services{background:#e8ece2}.portfolio{background:#faf8f1;max-width:none}.portfolio-heading,.portfolio-tools,.portfolio-grid,.portfolio-footnote{max-width:1114px;margin-left:auto;margin-right:auto}.contact{background:#17241f}.nav-cta{background:#17241f;color:#f4f1e9}.nav-cta:hover{background:#405447;color:white}@media(max-width:900px){.hero-gallery{height:400px}}@media(max-width:650px){.hero-gallery{height:310px;margin:38px 12px 15px 0}.hero-gallery-small{right:-12px;bottom:-15px}.gallery-note{left:-5px;bottom:16px;font-size:19px;padding:12px}.gallery-note a{font-size:9px}.hero h1{font-size:clamp(45px,12vw,66px)}}@media(prefers-reduced-motion:reduce){.project-photo img{transition:none}}
.studio-portrait{display:block;height:490px;background:#dce2d4}.studio-portrait>img{width:100%;height:100%;object-fit:cover}.studio-portrait .gallery-note{left:-28px;bottom:28px;max-width:220px}.hero h1{font-size:clamp(48px,5.2vw,72px);line-height:1.05}.hero-copy .hero-note{font-family:var(--sans);font-size:12px}.intro-grid .body-large{font-family:var(--serif);font-size:24px;line-height:1.45}.section-head>p,.portfolio-heading>p{font-size:14px}.topbar{border-bottom-color:#d2cfc2}.service-card{padding-top:34px;padding-bottom:34px}.contact-grid>div>p{font-size:15px}@media(max-width:650px){.studio-portrait{height:300px}.studio-portrait .gallery-note{left:-4px;bottom:12px}.hero h1{font-size:clamp(42px,11vw,60px)}}

.legal-links{display:flex;flex-wrap:wrap;gap:8px 16px}.legal-links a{text-decoration:underline;text-underline-offset:3px}.legal-links a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.icon-compliance{font:25px/1 system-ui,sans-serif;color:#4f6356}
.brand img.brand-lockup{width:220px;height:auto}.footer-brand img.brand-lockup{width:195px;height:auto}@media(max-width:650px){.topbar .brand img.brand-lockup{width:174px;height:auto}.footer-brand img.brand-lockup{width:174px;height:auto}}
