:root{--paper:#f1ede5;--ink:#343c32;--olive:#717760;--line:#c7c5b6;--sand:#e1dbce;--brass:#a38c62}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--brass);outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.06}em{font-weight:400}header{padding:25px 7%;display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font:14px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.15em}nav{display:flex;gap:32px;font-size:14px}nav a{position:relative}nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--olive);transition:right .3s}nav a:hover:after{right:0}.eyebrow{font-size:12px;letter-spacing:.15em}.hero{min-height:790px;position:relative;isolation:isolate;overflow:hidden}.landscape{position:absolute;right:0;bottom:0;width:56%;height:88%;object-position:12% bottom;z-index:-2;opacity:.85;mask-image:linear-gradient(to right,transparent,#000 48%);-webkit-mask-image:linear-gradient(to right,transparent,#000 48%)}.edition{position:absolute;top:40px;right:7%;font-size:11px;letter-spacing:.13em;color:#6c705e}.hero-copy{padding:92px 7% 130px;position:relative;max-width:1000px}.hero-copy>.eyebrow{max-width:430px;line-height:1.9}h1{margin:40px 0 44px;text-align:left;line-height:1;font-weight:400}.given-name{display:block;font-family:'Bodoni Moda',Didot,'Times New Roman',serif;font-size:clamp(100px,12.2vw,190px);letter-spacing:-.07em;line-height:1.02}.name-period{color:var(--brass);font-style:italic}.family-name{display:block;font:400 clamp(17px,2vw,27px)/1.6 Montserrat,Arial,sans-serif;letter-spacing:.42em;margin:15px 0 0 5px}.intro{font:38px/1.15 'Cormorant Garamond',Georgia,serif;margin-bottom:24px}.hero-note{font-size:14px;line-height:1.8;margin-bottom:28px}.text-link{display:inline-flex;gap:24px;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:14px}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(2px,-2px)}.hero-bottom{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:.1em;border-top:1px solid var(--line);padding-top:17px}.statement{padding:85px 7%;display:grid;grid-template-columns:24% 1fr}.statement>p:nth-child(2){font:clamp(36px,4.7vw,70px)/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em}.statement>span{grid-column:2;margin-top:23px;font-size:12px;letter-spacing:.1em}.work{padding:20px 7% 95px}.section-heading{border-top:1px solid var(--olive);padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:55px}.section-heading h2{font-size:64px}.work-meta{text-align:right}.hover-hint{display:none;font-size:12px;color:#6a6f5f;margin-top:8px}.work>.project{width:88%;margin-left:12%}.project-image{display:block;position:relative;overflow:hidden}.project-image>img{height:100%;width:100%}.work>.project .project-image{aspect-ratio:1.64}.project-caption{display:flex;gap:24px;border-top:1px solid var(--line);padding-top:15px;margin-top:13px;align-items:start}.number{font:italic 24px 'Cormorant Garamond',Georgia,serif;color:var(--olive)}.project h3{font-size:38px;margin-bottom:8px}.project p,.place{font-size:13px}.place{margin-left:auto;padding-top:4px}.project-grid{display:grid;grid-template-columns:1.05fr .85fr;column-gap:10%;row-gap:60px;margin-top:85px}.project-grid .project-image{aspect-ratio:1.2}.project-grid .offset{margin-top:160px}.project-grid .offset .project-image{aspect-ratio:.95}.research{border-top:1px solid var(--line);padding-top:60px;margin-top:90px;display:grid;grid-template-columns:59% 1fr;gap:6%;align-items:center}.research>.project-image{aspect-ratio:1.45}.research h3{font-size:55px;margin:24px 0}.research p:not(.eyebrow){margin-bottom:24px}.small{font-size:13px}.about{padding:85px 7%;background:var(--sand);display:grid;grid-template-columns:38% 1fr;gap:10%;align-items:center}.portrait{align-self:start}.portrait img{height:auto;aspect-ratio:1242/1552;object-fit:contain}.portrait figcaption{font-size:12px;letter-spacing:.06em;margin-top:13px}.about h2{font-size:clamp(48px,4.8vw,73px);letter-spacing:-.025em;margin:24px 0 32px}.about-copy>p:not(.eyebrow){margin-bottom:20px}.practice-note{display:flex;flex-direction:column;font-size:12px;letter-spacing:.03em;border-top:1px solid #b7b6a7;margin-top:35px;padding-top:20px;gap:6px}.contact{padding:80px 7%;background:#343e32;color:var(--paper)}.contact h2{font-size:clamp(55px,6vw,86px);margin:30px 0}.email{font:clamp(24px,3vw,44px)/1.5 'Cormorant Garamond',Georgia,serif;display:inline-block;border-bottom:1px solid #e4e1d880;padding-bottom:8px;overflow-wrap:anywhere}.email span{margin-left:10px}.contact-links{display:flex;gap:45px;margin-top:38px}footer{padding:24px 7%;display:flex;justify-content:space-between;gap:20px;font-size:12px}.skip{position:absolute;top:-100px;left:20px;background:var(--paper);padding:10px;z-index:9}.skip:focus{top:10px}.colour-layer{display:none!important;pointer-events:none}.project-image:focus-visible>img{filter:none!important}
@media(prefers-reduced-motion:no-preference){html.colour-reveal .hover-hint{display:block}html.colour-reveal .project-image>img:not(.colour-layer){filter:grayscale(1);transition:filter .35s}html.colour-reveal .project-image>.colour-layer{display:block!important;position:absolute;inset:0;filter:none;opacity:0;transition:opacity .3s;mask-image:radial-gradient(circle 160px at var(--mx,50%) var(--my,50%),#000 0%,#000 28%,transparent 100%);-webkit-mask-image:radial-gradient(circle 160px at var(--mx,50%) var(--my,50%),#000 0%,#000 28%,transparent 100%)}html.colour-reveal .project-image.is-revealing>.colour-layer{opacity:1}}
@media(min-width:1800px){body{max-width:1920px;margin:auto}}@media(max-width:1000px){.hero{min-height:760px}.edition{font-size:10px}.hero-copy{padding-top:100px}.section-heading h2{font-size:52px}.place{display:none}.research h3{font-size:43px}.about{gap:6%;grid-template-columns:40% 1fr}.about-copy>p{font-size:14px}.about h2{font-size:51px}}@media(max-width:620px){header{padding:22px 7%;flex-direction:column;align-items:start;gap:15px}.wordmark{font-size:14px}nav{gap:28px;font-size:13px}.hero{min-height:740px}.hero-copy{padding:76px 7% 155px}.edition{top:22px;left:7%;right:auto;font-size:10px}.hero-copy>.eyebrow{font-size:10px;max-width:280px}h1{margin:35px 0}.given-name{font-size:clamp(80px,20.5vw,125px);letter-spacing:-.07em}.family-name{font-size:18px;letter-spacing:.34em;margin:16px 0 0 3px}.intro{font-size:35px}.hero-note{font-size:13px}.landscape{width:100%;height:65%;opacity:.36;mask-image:linear-gradient(transparent,#000);-webkit-mask-image:linear-gradient(transparent,#000)}.hero-bottom{flex-wrap:wrap;gap:12px;font-size:10px;bottom:22px}.hero-bottom a{font-size:12px}.statement{padding:55px 7%;grid-template-columns:1fr;gap:22px}.statement>p:nth-child(2){font-size:37px}.statement>span{grid-column:1;margin:0;font-size:11px}.section-heading{margin-bottom:30px;align-items:start}.section-heading h2{font-size:42px}.section-heading .eyebrow{font-size:10px}.work{padding-bottom:60px}.work>.project{width:100%;margin-left:0}.work>.project .project-image{aspect-ratio:1.2}.project-caption{gap:15px}.project h3{font-size:32px}.project p{font-size:12px}.project-grid{grid-template-columns:1fr;gap:45px;margin-top:45px}.project-grid .offset{margin-top:0;margin-left:10%}.project-grid .offset .project-image{aspect-ratio:1.05}.research{grid-template-columns:1fr;gap:25px;margin-top:55px;padding-top:35px}.research h3{font-size:48px}.about{grid-template-columns:1fr;padding:55px 7%;gap:40px}.portrait{width:88%;max-width:390px}.about h2{font-size:52px}.about-copy>p:not(.eyebrow){font-size:16px}.contact{padding:55px 7%}.contact h2{font-size:49px}.email{font-size:25px}.contact-links{gap:27px}.text-link{font-size:13px;gap:15px}footer{flex-wrap:wrap;font-size:11px}footer a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
/* Quiet colour and project sequences. */
.statement{background:#777d68;color:#f7f3e9;margin-bottom:55px}.statement>.eyebrow{color:#eee2c9}.statement em{color:#ead8b7}.section-heading{border-color:#9f8965}.section-heading h2 em{color:#777d68}.name-period{color:#a38c62}.about{background:#dfd7c7}.practice-note{border-color:#b0a183}.project-note{font-size:12px;letter-spacing:.07em;color:#737961}.update-note{color:#687157}.gallery-controls{display:flex;align-items:center;gap:18px;padding:14px 0 0;min-height:55px}.gallery-count{font-size:12px;letter-spacing:.1em;white-space:nowrap;color:#6d745e;font-variant-numeric:tabular-nums}.gallery-view{font-size:12px;color:#686e60;line-height:1.5}.gallery-actions{display:flex;gap:7px;margin-left:auto}.gallery-actions button{border:1px solid #bcbba9;border-radius:50%;width:40px;height:40px;background:transparent;color:var(--ink);font-size:20px;cursor:pointer;transition:background .3s,color .3s}.gallery-actions button:hover{background:#727963;color:#fff}.gallery-actions button:focus-visible{outline:2px solid #8d734a;outline-offset:3px}.project-caption{margin-top:14px}.gallery-image{background:#d8d4c9}.gallery-image>img{object-fit:contain}.project-grid .offset .project-image{aspect-ratio:1.45}.project-grid .project-image{aspect-ratio:1.43}.work>.project .project-image{aspect-ratio:1.66}.gallery-image.changing{animation:view-arrive .65s ease both}.project-grid{grid-template-columns:1fr 1fr;column-gap:7%;row-gap:60px}.project-grid .offset{margin-top:150px}.research>.project-image{cursor:default}.gallery-image:focus-visible{outline:2px solid var(--brass);outline-offset:5px}.gallery-image:focus-visible>img:not(.colour-layer){filter:none!important}
@keyframes view-arrive{from{opacity:.45}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){html.colour-reveal .project-image>.colour-layer{mask-image:radial-gradient(ellipse var(--rx,340px) var(--ry,290px) at var(--mx,50%) var(--my,50%),#000 0%,#000 44%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse var(--rx,340px) var(--ry,290px) at var(--mx,50%) var(--my,50%),#000 0%,#000 44%,transparent 100%)}}
@media(max-width:620px){.statement{margin-bottom:35px}.project-grid{grid-template-columns:1fr}.project-grid .offset{margin:0}.gallery-view{font-size:11px}.gallery-controls{gap:12px}.gallery-actions button{width:42px;height:42px}.work>.project .project-image{aspect-ratio:1.4}.project-grid .offset .project-image{aspect-ratio:1.45}}

.touch-hint{display:none}@media(hover:none),(pointer:coarse){html.colour-reveal .hover-hint{display:none}html.colour-reveal .touch-hint{display:block;font-size:12px;color:#6a6f5f;margin-top:8px}}

/* Compact language selector, alongside the existing navigation. */
header{flex-wrap:wrap}header nav{margin-left:auto;flex-wrap:wrap}.language-switch{display:flex;align-items:center;gap:2px;font-size:12px}.language-switch button{font:500 14px Montserrat,Arial,sans-serif;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--ink);cursor:pointer;opacity:.55}.language-switch button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--brass)}.language-switch button:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.work-meta{min-width:0}.section-heading h2{min-width:0}html[lang="it"] .section-heading{flex-wrap:wrap}html[lang="it"] .section-heading h2{font-size:clamp(38px,5vw,64px)}
@media(max-width:760px){header{gap:12px 20px}header .wordmark{flex:1}header nav{order:3;width:100%;margin:0;gap:24px}.language-switch{margin-left:auto}}
@media(max-width:620px){header{flex-direction:row;align-items:center}.wordmark{font-size:12px;letter-spacing:.1em}html[lang="it"] .work-meta{text-align:left}html[lang="it"] .intro{font-size:32px}.section-heading{flex-wrap:wrap}.work-meta{text-align:left}}

.web-project{margin-top:90px;padding-top:60px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.web-project-identity{min-height:300px;display:flex;align-items:center;justify-content:center;background:transparent;padding:10%;border:0}.web-project-identity img{width:100%;height:auto;max-height:210px;object-fit:contain}.web-project h3{font-size:55px;margin:22px 0}.web-project-description{max-width:38ch}.web-project-meta{font-size:13px;margin:20px 0}.web-project-demo{display:block;font-size:12px;color:#687157;margin-top:14px}.web-project-link{min-height:44px;align-items:center}@media(max-width:620px){.web-project{grid-template-columns:1fr;margin-top:55px;padding-top:35px;gap:28px}.web-project-identity{min-height:220px}.web-project h3{font-size:44px}}

/* Consistent line icons across browsers and touch devices. */
.arrow-icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}.text-link{align-items:center}.text-link>span{display:inline-flex;align-items:center}.gallery-actions button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-color:#bcbba980}.gallery-actions .arrow-icon{width:19px;height:19px}.email .arrow-icon{width:22px;height:22px}footer>a{display:inline-flex;align-items:center;gap:9px}footer .arrow-icon{width:16px;height:16px}

.moncalieri{width:88%;margin:85px 0 0 12%}.moncalieri .project-image>img{height:auto;object-fit:contain}.moncalieri h3{font-size:38px;margin-bottom:8px}.moncalieri-meta{font-size:13px}@media(max-width:620px){.moncalieri{width:100%;margin:45px 0 0}.moncalieri h3{font-size:32px}.moncalieri-meta{font-size:12px}}

/* Reserve image space before loading; keep every project in its own flow. */
.work>article,.project-grid>article{min-width:0;position:relative;display:flow-root}.project-grid{align-items:start}.project-image{isolation:isolate;min-width:0}.gallery-image{position:relative;height:auto}.gallery-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.moncalieri .project-image{aspect-ratio:1536/1179;height:auto}.moncalieri .project-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.work>.research{display:grid}.work>.web-project{display:grid}.project-description{font-size:14px!important;line-height:1.85;margin-top:20px;max-width:65ch}.project-grid .project-description{max-width:48ch}.moncalieri{clear:both}.research{clear:both}.project-caption>div{min-width:0}.section-heading{gap:24px;flex-wrap:wrap}@media(max-width:620px){.project-grid .offset{margin:0}.project-description{font-size:14px!important}.moncalieri{margin-top:60px}.research{margin-top:60px}.web-project{margin-top:60px}}

@media(max-width:620px){.project-grid{row-gap:45px;column-gap:0}}

/* Tap holds colour without interfering with scrolling or pinch zoom. */
img,.project-image{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}img{-webkit-user-drag:none}.project-image{touch-action:pan-y pinch-zoom;cursor:pointer}.project-image>img{pointer-events:none}
html.colour-reveal .project-image>img:not(.colour-layer){filter:grayscale(1);transition:filter .45s ease}
html.colour-reveal .project-image.full-colour>img:not(.colour-layer){filter:grayscale(0)!important}
html.colour-reveal .project-image:focus-visible>img:not(.colour-layer){filter:grayscale(1)!important}
html.colour-reveal .project-image.full-colour:focus-visible>img:not(.colour-layer){filter:grayscale(0)!important}
.project-image:focus-visible{outline:2px solid var(--brass);outline-offset:5px}
@media(hover:none),(pointer:coarse){html.colour-reveal .touch-hint{display:block}html.colour-reveal .project-image>.colour-layer{display:none!important}}
@media(prefers-reduced-motion:reduce){html.colour-reveal .project-image>img{transition:none!important}}

/* Warm paper direction, October 2026. Original brass and image colours retained. */
:root{--paper:#f5f0e8;--ink:#39332f;--olive:#74745c;--line:#cec2b2;--sand:#e5d5c8;--brass:#a38c62;--olive-deep:#424737}
header{background:var(--paper)}
nav a:after{background:var(--brass)}
.hero-copy>.eyebrow,.edition,.hero-bottom,.hover-hint,.gallery-view{color:#665e51}
.hero h1{color:var(--olive-deep)}
.hero-copy>.eyebrow:before{content:'';display:block;width:46px;height:1px;background:var(--brass);margin-bottom:20px}
.statement{background:var(--olive);color:var(--paper);border-top:1px solid var(--brass);border-bottom:1px solid var(--brass)}
.statement>.eyebrow{color:#fff5e5}.statement em{color:#f1ddc6}
.section-heading{border-color:var(--brass)}
.section-heading h2 em{color:#66664f}
.number{color:#86704b}
.text-link{border-bottom-color:var(--brass)}
.arrow-icon{color:var(--brass)}
.gallery-count{color:#756140}
.gallery-actions button{border-color:#a38c6280;color:var(--brass)}
.gallery-actions button:hover{background:var(--olive-deep);color:var(--paper)}
.gallery-actions button:hover .arrow-icon{color:var(--paper)}
.gallery-image{background:#e9e0d4}
.about{background:var(--sand);border-top:1px solid #a38c6266;border-bottom:1px solid #a38c6266}
.about h2 em{color:#64634d}
.portrait figcaption{color:#65594f}
.practice-note{border-color:var(--brass)}
.contact{background:var(--olive-deep);color:var(--paper)}
.contact>.eyebrow{color:#e6d5b7}
.email{border-color:var(--brass)}
.contact .arrow-icon{color:#d6be94}
.project-note,.update-note,.web-project-demo{color:#66664f}
footer{background:var(--paper);border-top:1px solid #a38c6266}
@media(hover:none),(pointer:coarse){html.colour-reveal .touch-hint{color:#665e51}}
