    :root{--ink:#203b4c;--text:#263e4b;--muted:#526a75;--rule:#d7dfe2}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font:16px/1.5 Arial,Helvetica,sans-serif}a{color:inherit}a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
    .skip-link{position:absolute;top:-80px;left:20px;background:#fff;padding:10px;z-index:3}.skip-link:focus{top:20px}
    .header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:32px clamp(24px,4vw,72px)}.brand{display:block;line-height:0}.brand img{display:block;width:clamp(190px,19vw,260px);height:auto}.header nav{display:flex;gap:clamp(18px,3vw,46px);flex-wrap:wrap}.header nav a{text-decoration:none;font-size:14px;font-weight:600}.header nav a:hover,footer a:hover{text-decoration:underline;text-underline-offset:4px}
    main{overflow:hidden}.opening,.work,.statement,.contact{padding-left:clamp(24px,4vw,72px);padding-right:clamp(24px,4vw,72px)}
    .opening{min-height:670px;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(75px,10vw,160px);padding-bottom:52px}.eyebrow,.section-heading>span,.section-label{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.045em}h1{font-size:clamp(42px,5.1vw,82px);font-weight:600;line-height:1.1;max-width:1260px;margin:45px 0 80px}.opening-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px}.opening-bottom p{font-size:calc(clamp(17px,1.5vw,21px) - 3px);line-height:1.5;max-width:700px;margin:0}
    .work{padding-top:130px;padding-bottom:130px}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:start;margin-bottom:65px}.section-heading>span{padding-top:10px}.section-heading h2{font-size:clamp(30px,3.2vw,48px);font-weight:600;line-height:1.15;margin:0}.disclaimer{font-size:14px;color:var(--muted);max-width:550px;margin:18px 0 0}
    .work-grid{display:grid;grid-template-columns:1.18fr .82fr;column-gap:clamp(30px,5vw,90px);row-gap:clamp(90px,11vw,170px)}.work-item{min-width:0}.work-item-small{margin-top:180px}.work-item-wide{grid-column:1/-1;width:68%;margin-left:auto}.media{width:100%;overflow:hidden;background:#f3f3f1}.media img{display:block;width:100%;height:100%;object-fit:cover}.media-one{aspect-ratio:1}.media-campaign-detail{aspect-ratio:935/666;margin-top:14px}.media-one img,.media-campaign-detail img{object-fit:contain}.media-two{aspect-ratio:4/5}.media-three{aspect-ratio:16/9}.caption{display:grid;grid-template-columns:32px 1fr;gap:14px;padding-top:17px;border-top:1px solid var(--rule);margin-top:17px}.number{font-size:12px;color:var(--muted);padding-top:3px}.caption h3{font-size:19px;font-weight:600;margin:0 0 4px}.caption p{font-size:15px;color:var(--muted);margin:0}
    .statement,.contact{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-top:1px solid var(--rule);padding-top:85px;padding-bottom:110px}.statement>div,.contact>div{max-width:750px}.statement h2,.contact h2{font-size:clamp(32px,3.7vw,56px);line-height:1.13;font-weight:600;margin-bottom:34px}.statement p,.contact p{font-size:calc(clamp(17px,1.6vw,21px) - 3px);line-height:1.55;max-width:690px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:38px}.contact-links a{font-size:clamp(17px,1.8vw,22px);font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid currentColor;overflow-wrap:anywhere}.contact-links a:hover{border-bottom-width:2px}
    footer{border-top:1px solid var(--rule);padding:32px clamp(24px,4vw,72px) 45px;display:flex;justify-content:space-between;align-items:center;gap:24px}footer img{width:120px;height:auto;display:block}footer a{text-decoration:none;font-size:14px;font-weight:600}
    @media(max-width:800px){.opening{min-height:0;padding-top:90px;padding-bottom:70px}.opening-bottom{align-items:start;flex-direction:column;gap:30px}.work{padding-top:80px;padding-bottom:90px}.section-heading,.statement,.contact{grid-template-columns:1fr;gap:18px}.work-grid{grid-template-columns:1fr 1fr;column-gap:25px;row-gap:80px}.work-item-small{margin-top:110px}.work-item-wide{width:85%}.statement,.contact{padding-top:65px;padding-bottom:75px}}
    @media(max-width:600px){.header{align-items:flex-start;flex-direction:column;gap:25px}.opening{padding-top:75px}.opening h1{margin:30px 0 65px}.work-grid{grid-template-columns:1fr;gap:70px}.work-item-small,.work-item-wide{grid-column:auto;width:100%;margin:0}.media-two,.media-three{aspect-ratio:4/3}.media-one{aspect-ratio:1}.media-campaign-detail{aspect-ratio:935/666}.caption{margin-top:12px}.section-heading{margin-bottom:35px}.statement h2,.contact h2{margin-bottom:25px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

    /* Static positive palette; imagery and green logo keep their colors. */
    body{background:#fff;color:var(--text)}
    .skip-link{background:#fff}
    .brand,.footer-badge{display:block;line-height:0}
    .header nav a{color:#667177}.header nav a:hover{color:#293f49}
    .media{background:#f1f4f4}
    .disclaimer{color:#526a75}
    h1,h2,h3{color:var(--ink)}
    .section-heading>span,.work-grid .number{color:#0f6704}

    .title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
    .title-row svg{display:block;width:28px;height:28px;flex:none;color:#0f6704;stroke-width:1.35}

    [hidden]{display:none!important}
    .work-intro{font-size:16px;color:var(--muted);max-width:560px;margin:20px 0 0}
    .work-grid{grid-template-columns:1fr 1fr;column-gap:clamp(30px,6vw,105px);row-gap:80px}
    .work-item-small{margin-top:145px}
    .project-link{display:block;text-decoration:none;color:inherit}
    .project-link:focus-visible{outline:2px solid #0f6704;outline-offset:7px}
    .project-cover{background:#f1f4f4}
    .project-cover.square{aspect-ratio:1}
    .project-cover.landscape{aspect-ratio:4/3}
    .project-cover.landscape{aspect-ratio:1}
    .project-cover img{width:100%;height:100%;object-fit:cover;transition:opacity .25s ease}
    .project-link:hover .project-cover img{opacity:.9}
    .project-link .caption h3{display:flex;justify-content:space-between;gap:14px}
    .project-link .caption h3 span{font-size:18px;font-weight:400;color:#0f6704}
    .project-detail{padding:70px clamp(24px,4vw,72px) 110px}
    .project-heading{max-width:880px;margin:0 auto 70px}
    .back-link{display:inline-block;color:var(--ink);font-size:14px;text-decoration:none;margin-bottom:100px}
    .back-link:hover{text-decoration:underline;text-underline-offset:4px}
    .project-heading .eyebrow{display:block;color:#0f6704;margin-bottom:20px}
    .project-heading h1{font-size:clamp(44px,5.2vw,84px);line-height:1.08;margin:0 0 28px}
    .project-heading p{font-size:calc(clamp(18px,1.7vw,22px) - 3px);line-height:1.55;max-width:720px}
    .project-gallery{display:flex;flex-direction:column;gap:clamp(24px,5vw,75px);max-width:1200px;margin:auto}
    .project-gallery figure{margin:0;background:#f3f4f2}
    .project-gallery img{display:block;width:100%;height:auto}
    .next-project{display:flex;justify-content:space-between;align-items:baseline;gap:24px;max-width:1200px;margin:100px auto 0;padding-top:25px;border-top:1px solid var(--rule);text-decoration:none;font-size:14px}
    .next-project strong{font-size:clamp(21px,3vw,38px);font-weight:600;color:var(--ink)}
    .next-project:hover strong{color:#0f6704}
    @media(max-width:800px){.work-item-small{margin-top:90px}.project-detail{padding-top:45px}.back-link{margin-bottom:70px}}
    @media(max-width:600px){.work-grid{grid-template-columns:1fr;gap:65px}.work-item-small{margin-top:0}.project-cover.landscape{aspect-ratio:1}.project-heading{margin-bottom:42px}.back-link{margin-bottom:60px}.next-project{margin-top:60px;flex-direction:column}}
    @media(prefers-reduced-motion:reduce){.project-cover img{transition:none}}

    .poster-gallery{max-width:880px}


    /* Regular project grid and left-aligned introduction. */
    .section-heading{display:block;max-width:900px;margin-bottom:64px}
    .section-heading>span{display:block;padding-top:0;margin-bottom:20px}
    .section-heading h2{max-width:800px}
    .section-heading .work-intro{max-width:700px;margin-top:18px}
    .project-link{height:100%;display:flex;flex-direction:column}
    .project-link .caption{width:100%}
    @media(min-width:1001px){
      .work-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3vw,54px);row-gap:72px}
      .work-grid .work-item,.work-grid .work-item-small,.work-grid .work-item-wide{grid-column:auto;width:auto;margin:0}
    }
    @media(min-width:601px) and (max-width:1000px){
      .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:64px}
      .work-grid .work-item,.work-grid .work-item-small,.work-grid .work-item-wide{grid-column:auto;width:auto;margin:0}
    }
    @media(max-width:600px){
      .section-heading{margin-bottom:35px}
      .work-grid .work-item,.work-grid .work-item-small,.work-grid .work-item-wide{grid-column:auto;width:100%;margin:0}
    }

    /* The closing sections follow the same left edge as Progetti. */
    .statement,.contact{display:block}
    .statement .section-label,.contact .section-label{display:block;margin-bottom:20px}
    .statement>div,.contact>div{max-width:900px}
    .statement h2,.contact h2{margin-bottom:28px}
    .statement p,.contact p{max-width:700px}

    .opening{min-height:0;padding-bottom:40px}
    .opening h1{margin-bottom:58px}
    .work{padding-top:55px}
    @media(max-width:600px){.opening{padding-bottom:30px}.work{padding-top:42px}}

    .statement h2,.contact h2{font-size:clamp(30px,3.2vw,48px);line-height:1.15;font-weight:600;letter-spacing:-.045em;margin:0 0 28px}
    .work{padding-bottom:60px}
    .statement,.contact{padding-top:50px;padding-bottom:55px}
    @media(max-width:600px){.work{padding-bottom:45px}.statement,.contact{padding-top:40px;padding-bottom:45px}}

    .work-grid .caption{display:block;text-align:left}
    .project-link .caption h3{align-items:center}
    .project-link .caption h3 svg{display:block;width:28px;height:28px;flex:none;color:#0f6704;stroke-width:1.35}

    .contact-links{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0;margin-top:30px}
    .contact-links a{font-size:clamp(15px,1.3vw,17px);font-weight:600;color:var(--ink);text-decoration:none;border:0;white-space:nowrap;transition:color .2s ease}
    .contact-links a:hover,.contact-links a:focus-visible{color:#0f6704;border:0}
    .contact-divider{color:var(--muted);font-size:16px;margin:0 16px}
    @media(max-width:600px){.contact-links{flex-direction:column;align-items:flex-start;gap:8px}.contact-divider{display:none}}
    @media(prefers-reduced-motion:reduce){.contact-links a{transition:none}}
    .farmacia-gallery{max-width:900px}
    .coworking-gallery{max-width:1100px}

    .morph-word{position:relative;display:inline-block;white-space:nowrap;color:inherit;vertical-align:baseline}
    .morph-label{display:inline-block}
    .morph-word.is-ready:not(.is-word) .morph-label{visibility:hidden}
    .morph-word.is-word .morph-canvas{visibility:hidden}
    .morph-canvas{position:absolute;pointer-events:none}
    @media(prefers-reduced-motion:reduce){.morph-word .morph-label{visibility:visible}.morph-canvas{display:none}}
    .casio-gallery{max-width:1100px}
    .social-gallery{max-width:900px}
    .header nav a:hover,.header nav a:focus-visible,.header nav a:active,.header nav a[aria-current="location"]{color:#0f6704}

    /* Clean image-only home cards with subtly softened corners. */
    .overview .project-cover{border-radius:3px;overflow:hidden}
    .overview .project-cover.square,.overview .project-cover.landscape{aspect-ratio:1}
    .overview .project-link:hover .project-cover img{opacity:1}
    .overview .work-grid{row-gap:clamp(24px,3vw,54px)}

    .overview .section-heading{margin-bottom:40px}
    @media(max-width:600px){.overview .section-heading{margin-bottom:28px}}

    /* Headings and photographs share the same left edge in every project. */
    .project-detail{--project-width:1200px}
    .project-detail .project-heading{max-width:var(--project-width);margin-left:auto;margin-right:auto;text-align:left}
    .project-detail .next-project{max-width:var(--project-width)}
    footer .contact-links{margin:0}
    footer .contact-links a,footer .contact-links a:hover,footer .contact-links a:focus-visible{text-decoration:none}
    footer .contact-links a:hover,footer .contact-links a:focus-visible{color:#0f6704}
    .contact-page-inner{max-width:1200px;margin:auto}
    .contact-page h1{font-size:clamp(44px,5.2vw,84px);line-height:1.08;margin:0 0 60px}
    .contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,80px);align-items:start}
    .contact-info address{font-style:normal;font-size:clamp(20px,2vw,28px);line-height:1.5;color:var(--ink)}
    .contact-page .contact-links{flex-direction:column;align-items:flex-start;gap:10px;margin-top:36px}
    .contact-page .contact-links a{font-size:calc(clamp(17px,1.6vw,21px) - 3px)}
    .contact-page .contact-divider{display:none}
    @media(max-width:700px){.contact-layout{grid-template-columns:1fr;gap:36px}.contact-page h1{margin-bottom:36px}.contact-map{aspect-ratio:4/3}}

    .profile-copy{width:100%;max-width:1260px}
    .opening-bottom .profile-copy p{max-width:none}
    .opening-bottom .profile-copy p+p{margin-top:18px}
    .contact-intro{font-size:calc(clamp(17px,1.6vw,21px) - 3px);max-width:440px;line-height:1.55}
    .contact-form{min-width:0}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
    .form-field{margin-bottom:24px}.form-field label{display:block;font-size:14px;font-weight:600;margin-bottom:10px;color:var(--ink)}.form-field label span{font-weight:400;color:var(--muted)}
    .contact-form input,.contact-form textarea{font:inherit;width:100%;border:1px solid var(--rule);border-radius:3px;padding:12px 14px;background:#fff;color:var(--ink)}.contact-form textarea{resize:vertical;min-height:140px}
    .contact-form input:focus,.contact-form textarea:focus{outline:2px solid #0f6704;outline-offset:2px}.contact-form input[type=file]{font-size:14px;padding:12px;background:#f7f9f9}
    .contact-form input::file-selector-button{font:inherit;border:0;background:var(--ink);color:white;padding:8px 12px;border-radius:3px;margin-right:12px;cursor:pointer}
    .file-help,.file-list{font-size:12px;color:var(--muted);margin:10px 0 0}.file-list{padding-left:18px;overflow-wrap:anywhere}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
    .form-submit{font:600 14px Arial,Helvetica,sans-serif;background:var(--ink);color:white;border:0;border-radius:3px;padding:14px 22px;cursor:pointer;transition:background .2s}.form-submit:hover,.form-submit:focus-visible{background:#0f6704}.form-submit:disabled{opacity:.6;cursor:wait}
    .form-status{font-size:14px;line-height:1.5;margin:16px 0 0}.form-status[data-error=true]{color:#9b3027}.form-status[data-error=false]{color:#0f6704}
    @media(max-width:700px){.form-fields{grid-template-columns:1fr;gap:0}}
