@font-face{font-family:Hanken;src:url('/assets/fonts/hanken-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Hanken;src:url('/assets/fonts/hanken-500.woff2') format('woff2');font-style:normal;font-weight:500 600;font-display:swap}
@font-face{font-family:Hanken;src:url('/assets/fonts/hanken-700.woff2') format('woff2');font-style:normal;font-weight:700 900;font-display:swap}
@font-face{font-family:EnosisJP;src:url('/assets/fonts/noto-jp.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:EnosisSC;src:url('/assets/fonts/noto-sc.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--plum:#542238;--plum-deep:#351526;--mint:#d4e9df;--mint-bright:#b4e2ca;--peach:#f2bf9f;--white:#fafbf8;--ink:#2b2930;--muted:#62585f;--line:#d9d8d4;--on-plum:#eadce3;--gutter:clamp(22px,4.7vw,80px);--max:1440px;--space:clamp(72px,8vw,124px);--ease:cubic-bezier(.16,1,.3,1);font-family:Hanken,sans-serif;color:var(--ink);background:var(--white);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:114px}body{margin:0;font-size:17px;line-height:1.65}h1,h2,h3,p,figure,ul,ol,dl{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.035em;line-height:1.12;text-wrap:balance}h1{font-size:clamp(44px,6.1vw,90px);max-width:18ch}h2{font-size:clamp(34px,4.2vw,62px)}h3{font-size:clamp(24px,2.4vw,34px)}p{max-width:72ch}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}a,button,summary{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}::selection{color:var(--plum-deep);background:var(--peach)}:focus-visible{outline:3px solid #246a56;outline-offset:5px}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}details:not([open])>summary svg{transform:rotate(0)}summary svg{transition:transform 200ms}details[open]>summary>svg{transform:rotate(180deg)}[hidden]{display:none!important}.wrap{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}.arrow{width:24px;height:24px;flex:0 0 24px;transition:transform 220ms var(--ease)}a:hover>.arrow,a:hover>span>.arrow,button:hover>.arrow{transform:translateX(4px)}.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:12px 20px;background:var(--mint);color:var(--plum);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.text-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid currentColor;padding-block:12px 6px;font-weight:500;line-height:1.3}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:54px;padding:15px 24px;border:1px solid transparent;border-radius:5px;font-size:16px;line-height:1.35;font-weight:500;transition:background 200ms,color 200ms}.button-ink{background:var(--plum);color:var(--white)}.button-ink:hover{background:var(--plum-deep)}.button-mint{color:var(--plum-deep);background:var(--mint-bright)}.button-mint:hover{background:#c9efdb}.button-light{background:var(--white);color:var(--plum)}.button-light:hover{background:var(--mint)}
.site-header{position:relative;z-index:30;background:var(--white);border-bottom:1px solid var(--line)}.header-inner{width:min(calc(100% - var(--gutter)*2),var(--max));min-height:96px;margin:auto;display:flex;align-items:center;gap:36px}.brand{display:block;flex:0 0 auto}.brand img{width:144px;height:auto}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2vw,34px);margin-inline-start:auto;font-size:15px;font-weight:500}.desktop-nav>a{padding-block:30px;position:relative}.desktop-nav>a::after{position:absolute;content:'';inset:auto 0 24px;height:2px;background:var(--plum);transform:scaleX(0);transform-origin:left;transition:transform 220ms}.desktop-nav>a:hover::after,.desktop-nav>a[aria-current]::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:22px;font-size:14px}.header-contact{display:flex;align-items:center;gap:16px;background:var(--plum);color:var(--white);border-radius:4px;min-height:46px;padding:10px 16px;white-space:nowrap}.header-contact .arrow{width:19px;height:19px;flex-basis:19px}.language-menu{position:relative}.language-menu summary,.expertise-menu>summary{display:flex;align-items:center;gap:8px;padding-block:18px;min-height:44px}.language-menu summary>svg,.expertise-menu>summary>svg{width:14px;height:14px}.language-menu ul{position:absolute;top:100%;right:-16px;min-width:156px;padding:12px;background:var(--white);border:1px solid var(--line);list-style:none;box-shadow:0 14px 28px #35152610}.language-menu a{display:block;padding:8px 12px;white-space:nowrap}.language-menu a:hover,.language-menu a[aria-current]{background:var(--mint)}.expertise-panel{position:absolute;z-index:2;inset:96px 0 auto;background:var(--plum);color:var(--white);padding:38px var(--gutter);display:grid;grid-template-columns:1fr 2.5fr;gap:60px;box-shadow:0 15px 24px #35152620}.expertise-all{font-size:24px;display:flex;align-items:center;justify-content:space-between;gap:30px;align-self:start}.expertise-panel>div{display:grid;grid-template-columns:1fr 1fr;gap:0 38px}.expertise-panel>div>a{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #926e7d;font-size:18px;gap:30px}.expertise-panel a:hover{color:var(--mint-bright)}.expertise-menu .current{text-decoration:underline;text-underline-offset:8px}.mobile-nav{display:none}
.home-hero{position:relative;background:var(--plum);color:var(--white);padding-top:54px;overflow:clip}.hero-message{display:grid;grid-template-columns:1.5fr 1fr;gap:8%;align-items:end;margin-bottom:40px;position:relative;z-index:2}.hero-message h1{font-weight:500;line-height:1.05;max-width:19ch}.hero-message h1 span{color:var(--mint-bright)}.hero-aside{max-width:370px;padding-bottom:8px}.hero-aside p{font-size:20px;line-height:1.5;color:var(--on-plum);margin-bottom:26px}.hero-aside .button{font-size:15px}.photographic-union{height:294px;display:grid;grid-template-columns:1.05fr .8fr 1.15fr;align-items:stretch;gap:18px;position:relative}.hero-photo{position:relative;isolation:isolate;overflow:hidden;background:var(--plum-deep)}.hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform 650ms var(--ease)}.hero-photo-a{border-radius:0 0 0 90px;margin-top:24px}.hero-photo-b{margin-bottom:24px}.hero-photo-c{margin-top:24px;border-radius:0 90px 0 0}.hero-photo span{position:absolute;bottom:14px;left:18px;padding:6px 12px;background:var(--plum-deep);color:var(--white);font-size:13px;border-radius:3px}.union-trace{position:absolute;z-index:2;inset:-20px -20px;width:calc(100% + 40px);height:calc(100% + 40px);color:var(--mint-bright);pointer-events:none}.hero-foot{display:flex;align-items:center;justify-content:space-between;min-height:72px;font-size:13px;color:var(--on-plum)}.hero-foot>a{display:flex;align-items:center;gap:18px}.hero-foot svg{width:21px;height:21px}.home-hero .hero-photo{animation:photo-settle 850ms var(--ease) both}.home-hero .hero-photo-b{animation-delay:90ms}.home-hero .hero-photo-c{animation-delay:180ms}.union-trace path{stroke-dasharray:1700;animation:connect 1400ms var(--ease) both}.union-trace circle{animation:node-in 800ms 600ms both}@keyframes photo-settle{from{transform:translateY(18px);filter:saturate(.5)}to{transform:translateY(0);filter:saturate(1)}}@keyframes connect{from{stroke-dashoffset:1700}to{stroke-dashoffset:0}}@keyframes node-in{from{opacity:.3}to{opacity:1}}
.pathways{padding-block:var(--space)}.section-header{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px}.section-header h2{max-width:18ch}.section-header p{margin-top:22px;color:var(--muted);max-width:46ch}.section-header>.text-link{flex-shrink:0}.pathway-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pathway{padding:28px 26px 24px 0;display:flex;flex-direction:column;position:relative;min-width:0}.pathway+.pathway{border-left:1px solid var(--line);padding-left:26px}.pathway h3{font-size:25px;line-height:1.2;max-width:17ch}.pathway p{font-size:15px;line-height:1.6;color:var(--muted);margin-top:22px}.pathway-arrow{width:46px;height:46px;background:var(--mint);color:var(--plum);margin-top:32px;display:grid;place-items:center;border-radius:50%}.pathway:hover .pathway-arrow{background:var(--plum);color:var(--white)}.pathway:hover h3{color:var(--plum)}.home-belief{background:var(--mint);padding-block:var(--space)}.belief-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:10%}.belief-layout h2{font-size:clamp(36px,3.7vw,54px);line-height:1.15;max-width:22ch}.belief-layout p{margin-bottom:26px;font-size:19px;line-height:1.7}.partnership-feature{padding-block:var(--space);display:grid;grid-template-columns:1fr 1.1fr;gap:11%;align-items:center}.partnership-image{position:relative;max-width:480px;display:block;overflow:hidden;border-radius:5px 5px 110px 5px}.partnership-image img{width:100%;aspect-ratio:1/1.15;object-fit:cover;object-position:50% 40%;view-transition-name:tesori-photo}.photo-date{position:absolute;bottom:0;right:0;padding:12px 22px;background:var(--mint);font-size:13px;color:var(--plum-deep)}.partner-brands{display:flex;align-items:center;gap:28px;margin-bottom:32px;max-width:310px}.partner-brands>img{max-width:135px;max-height:70px;object-fit:contain}.partner-brands>span{color:var(--muted)}.partnership-copy h2{font-size:clamp(40px,4.5vw,66px)}.partnership-copy p{margin-block:26px 32px;color:var(--muted);font-size:19px;line-height:1.7}.home-projects{padding-block:10px var(--space)}.home-project-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:5%}.home-project-grid .project-card:nth-child(2){margin-top:90px}.project-card-image{display:block;position:relative;overflow:hidden;background:var(--mint);border-radius:5px}.project-card-image>img{width:100%;height:100%;aspect-ratio:1.5;object-fit:cover;transition:transform 700ms var(--ease)}.project-card-image>span{position:absolute;bottom:16px;left:16px;background:var(--white);color:var(--plum);font-size:13px;padding:6px 12px;border-radius:3px}.project-card:hover .project-card-image>img{transform:scale(1.035)}.project-card-info{display:grid;grid-template-columns:1fr auto;gap:24px;padding-block:24px 0}.project-card-info>div>p:first-child{font-size:13px;color:var(--muted);margin-bottom:14px}.project-card-info h2{font-size:clamp(29px,3vw,42px);line-height:1.15}.project-card-info h2 br{display:none}.project-card-info>div>p:last-child{margin-top:18px;font-size:16px;color:var(--muted)}.round-link{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;align-self:center}.round-link:hover{background:var(--plum);color:var(--white);border-color:var(--plum)}.learning-panel{background:var(--peach);padding-block:var(--space)}.learning-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:center}.learning-grid p{margin-block:24px 32px;font-size:19px;max-width:39ch}.learning-grid figure{margin:0}.learning-grid img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:80px 4px 4px 4px}.learning-grid figcaption{font-size:12px;padding-top:14px;line-height:1.5}.innovation-panel{background:var(--plum);color:var(--white);padding-block:var(--space)}.innovation-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:center}.innovation-grid h2{max-width:17ch}.innovation-grid p{color:var(--on-plum);margin-block:24px 32px;font-size:19px}.union-digital{color:var(--mint-bright);position:relative;max-width:470px}.union-digital>svg{width:100%;height:auto}.union-digital>span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font-size:15px;letter-spacing:.25em;background:var(--plum);padding:20px}.digital-node{offset-path:path('M170 270a120 120 0 1 1 0-240M230 30a120 120 0 1 1 0 240M50 150h300');offset-distance:0%;cx:0;cy:0;animation:flow 16s linear infinite;animation-play-state:paused}.union-digital.is-inview .digital-node{animation-play-state:running}@keyframes flow{to{offset-distance:100%}}
.closing{background:var(--mint);padding-block:76px;overflow:hidden}.closing-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;position:relative}.closing h2{max-width:18ch;font-size:clamp(36px,4vw,58px)}.closing p{margin-bottom:26px;max-width:40ch}.closing-union{position:absolute;right:-100px;top:-110px;width:360px;opacity:.25;pointer-events:none}.closing-layout>div{position:relative;z-index:1}.closing .button-light{background:var(--plum);color:var(--white)}.closing .button-light:hover{background:var(--plum-deep)}
.site-footer{padding-top:72px;background:var(--plum-deep);color:var(--white)}.footer-top{display:grid;grid-template-columns:1fr 1.4fr 1.6fr;gap:5%;align-items:center;padding-bottom:54px;border-bottom:1px solid #765969}.footer-top .brand img{filter:brightness(0) invert(1);width:154px}.footer-top>p{font-size:22px;line-height:1.35;max-width:23ch}.footer-mail{display:flex;align-items:center;justify-content:space-between;font-size:clamp(20px,2vw,30px);gap:20px;word-break:break-word}.footer-columns{display:grid;grid-template-columns:1.2fr 1fr 1.3fr 1fr;gap:6%;padding-block:54px}.footer-columns h2{font-family:inherit;font-size:15px;font-weight:700;letter-spacing:0;margin-bottom:20px;line-height:1.5}.footer-columns p,.footer-columns a{font-size:14px;color:var(--on-plum)}.footer-columns p+p{margin-top:16px}.footer-columns a{display:block;padding-block:5px;overflow-wrap:anywhere}.footer-columns a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:5px}.footer-columns .footer-language{margin-top:26px}.footer-bottom{border-top:1px solid #765969;padding-block:22px;display:flex;gap:30px;justify-content:space-between;align-items:center;font-size:12px;color:var(--on-plum)}.footer-bottom>p{max-width:65ch}.footer-bottom>div{display:flex;gap:20px;flex-shrink:0}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-block:22px;font-size:13px;line-height:1.4;color:var(--muted)}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumbs>span[aria-current]{max-width:40ch}.page-opening{padding-block:45px 76px}.page-opening-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:10%}.page-opening h1{font-size:clamp(42px,5.3vw,78px);line-height:1.1;max-width:17ch;color:var(--plum)}.page-intro{font-size:21px;line-height:1.6;margin-block:28px 32px;max-width:42ch;color:var(--muted)}.opening-photo{position:relative;min-width:0}.opening-photo img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:4px 80px 4px 4px}.opening-photo figcaption{font-size:12px;margin-top:14px;color:var(--muted);line-height:1.5;max-width:58ch}.page-opening-text{padding-bottom:70px}.page-opening-text .page-opening-grid{display:block}.page-opening-text h1{max-width:21ch}.page-opening-text .page-intro{max-width:58ch;margin-bottom:0}.page-opening-academy{background:var(--peach)}.page-opening-internazionale{background:var(--mint)}.page-opening-digitale{background:var(--plum);color:var(--white)}.page-opening-digitale h1{color:var(--mint-bright)}.page-opening-digitale .page-intro,.page-opening-digitale figcaption{color:var(--on-plum)}.page-opening-digitale .button-ink{background:var(--mint-bright);color:var(--plum)}.page-opening-tesori{background:var(--mint)}.page-opening-tesori .opening-photo{max-width:460px}.page-opening-tesori .opening-photo img{aspect-ratio:.92;object-position:center 35%;view-transition-name:tesori-photo}.page-tesori .page-opening h1{font-size:clamp(44px,5.3vw,78px)}.project-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}.project-meta>div{border:1px solid #aec5b8;background:var(--white);padding:8px 12px;font-size:13px;border-radius:3px}.project-meta dd{margin:0}.article-layout{padding-top:var(--space);display:grid;grid-template-columns:1fr 2.6fr;gap:12%;align-items:start}.section-index{position:sticky;top:40px;border-top:1px solid var(--line);padding-top:22px}.section-index h2{font-size:15px;font-weight:700;letter-spacing:0;margin-bottom:22px}.section-index ol{list-style:none;padding:0}.section-index li{padding-block:10px;line-height:1.5;font-size:14px;color:var(--muted)}.section-index li a:hover{color:var(--plum);text-decoration:underline;text-underline-offset:5px}.article-body{max-width:790px;min-width:0}.reading-section{padding-bottom:64px;scroll-margin-top:55px}.reading-section+.reading-section{border-top:1px solid var(--line);padding-top:54px}.reading-section h2{font-size:clamp(30px,3.1vw,44px);margin-bottom:22px;max-width:25ch}.reading-section p{font-size:19px;line-height:1.8;color:var(--muted)}.activity-list{list-style:none;padding:0;margin-top:34px;border-top:1px solid var(--line)}.activity-list li{padding:17px 0;border-bottom:1px solid var(--line);font-size:17px}.gallery-section{padding-block:40px var(--space)}.gallery-section>h2{margin-bottom:42px;font-size:clamp(32px,3.5vw,50px)}.photo-gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:5%;align-items:start}.photo-gallery>figure:nth-child(2){margin-top:90px}.document-photo{margin:0;min-width:0}.document-photo img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:4px}.document-photo figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:14px}.photo-link{display:block;overflow:hidden}.photo-link:after{content:none}.single-photo{grid-template-columns:1fr;max-width:1040px}.single-photo .document-photo img{aspect-ratio:1.8}.page-tesori .single-photo{max-width:620px}.page-tesori .single-photo .document-photo img{aspect-ratio:auto}.portrait{margin-top:32px;max-width:440px}.portrait img{aspect-ratio:1.2;object-position:50% 35%}.source-link{padding-top:18px;color:var(--plum);font-size:14px}.source-link a{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid currentColor;padding-bottom:6px}.source-link:last-child{padding-bottom:64px}.related{padding-bottom:var(--space)}.related>h2{font-size:32px;margin-bottom:30px}.related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.related a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;gap:20px;min-width:0}.related h3{font-size:24px;line-height:1.3}.related a:hover{color:var(--plum)}.related a h3 br{display:none}.process-band{background:var(--mint);padding-block:64px;margin-bottom:var(--space)}.process-band>.wrap{display:grid;grid-template-columns:1fr 2fr;gap:30px 80px;align-items:start}.process-band h2{font-size:32px}.process-band ol{list-style:none;padding:0;counter-reset:step}.process-band li{display:flex;align-items:baseline;gap:22px;font-size:20px;padding-block:16px;border-bottom:1px solid #adc8b9;counter-increment:step}.process-band li::before{content:counter(step);font-size:14px}.process-band .button{grid-column:2;justify-self:start}.international-links{padding-bottom:var(--space);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}.international-links>a{padding-top:30px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:start}.international-links h2{font-size:32px;margin-bottom:24px}.international-links p{font-size:16px;color:var(--muted);margin-bottom:24px}.international-links .arrow{margin-top:auto}.services-index{padding-block:0 var(--space)}.service-entry{display:grid;grid-template-columns:1.4fr 1fr auto;gap:70px;align-items:center;padding-block:48px;border-top:1px solid var(--line)}.service-entry h2{font-size:clamp(34px,3.8vw,54px);max-width:20ch}.service-entry p{margin-top:22px;color:var(--muted);max-width:50ch}.service-entry-picture{width:100%;overflow:hidden;border-radius:4px}.service-entry img{width:100%;aspect-ratio:1.65;object-fit:cover;transition:transform 600ms var(--ease)}.service-entry:hover img{transform:scale(1.04)}.service-entry-arrow .arrow{width:36px;height:36px;flex-basis:36px}.project-index{padding-bottom:var(--space)}.project-filter{display:flex;flex-wrap:wrap;gap:10px;padding-block:0 30px}.project-filter button{padding:11px 22px;border:1px solid var(--line);border-radius:24px;background:transparent;font-size:15px;min-height:46px}.project-filter button:hover{background:var(--mint)}.project-filter button[aria-pressed=true]{color:var(--white);background:var(--plum);border-color:var(--plum)}.filter-status{font-size:14px;color:var(--muted);margin-bottom:22px}.filter-status:empty{display:none}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:72px 5%}.project-list .project-card:first-child .project-card-image>img{object-position:50% 32%}.project-list .project-card:first-child .project-card-image{view-transition-name:tesori-photo}.empty-projects{padding:36px;background:var(--mint)}.local-profile{padding-block:48px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:.7fr 2fr auto;gap:34px;align-items:center}.local-profile h2{font-size:22px}.local-profile dl{display:flex;flex-wrap:wrap;gap:28px;font-size:14px}.local-profile dt{font-weight:700}.local-profile dd{margin:6px 0 0}.quick-access{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:30px;border-bottom:1px solid var(--line)}.quick-access a{display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:500;gap:12px}.quick-access a .arrow{flex-shrink:0}
.contact-area{display:grid;grid-template-columns:1fr 1.2fr;gap:14%;padding-bottom:var(--space)}.contact-area h2{font-size:32px;margin-bottom:26px}.contact-email{font-size:clamp(21px,2.6vw,36px);color:var(--plum);display:flex;gap:20px;align-items:center;overflow-wrap:anywhere}.copy-email{font-size:14px;background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0 5px;margin:16px 0 10px}.copy-status{font-size:14px;color:#246a56;min-height:24px;margin-bottom:20px}.office{margin-top:40px}.office h3{font-size:17px;font-weight:700;margin-top:25px;margin-bottom:10px;letter-spacing:0}.office p{font-size:16px;color:var(--muted)}.contact-brief{padding:38px;background:var(--mint);border-radius:5px}.contact-brief>p{font-size:15px;margin-bottom:28px}.contact-brief form{display:grid;gap:24px}.contact-brief label{font-size:15px;display:block;font-weight:500}.contact-brief label>span{margin-inline-start:4px}.contact-brief input,.contact-brief select,.contact-brief textarea{display:block;width:100%;min-width:0;min-height:48px;background:var(--white);border:1px solid #a0bcaf;border-radius:3px;padding:12px 14px;margin-top:8px;font-size:16px;color:var(--ink);caret-color:var(--plum)}.contact-brief textarea{resize:vertical}.contact-brief ::placeholder{color:#6d666c;opacity:1}.contact-brief select{padding-inline-end:28px;white-space:normal}.form-required{font-size:13px}.contact-brief .button{justify-self:start}.form-status{font-size:14px;line-height:1.6}.form-status:empty{display:none}.contact-brief input:user-invalid,.contact-brief textarea:user-invalid{border-color:#9c2b37;outline:1px solid #9c2b37}.error-page{min-height:70vh;padding-block:100px}.error-page>h1{max-width:20ch;font-size:64px;margin-block:24px}.error-page>.button{margin-top:30px}.error-languages{display:flex;gap:24px;margin-top:40px}
.photo-dialog{max-width:min(95vw,1500px);max-height:94dvh;border:0;padding:48px 26px 22px;background:var(--plum-deep);color:var(--white);border-radius:6px}.photo-dialog::backdrop{background:#20121cdb}.photo-dialog:not([open]){display:none}.photo-dialog figure{display:flex;flex-direction:column;align-items:center;max-height:80dvh;gap:16px}.photo-dialog figure img{max-height:70dvh;width:auto;height:auto;max-width:100%;object-fit:contain}.photo-dialog figcaption{font-size:14px;text-align:center;max-width:75ch}.photo-dialog-close{position:absolute;top:8px;right:8px;width:36px;height:36px;display:grid;place-items:center;background:transparent;color:var(--white);border:1px solid #765969;border-radius:50%}.photo-dialog-close svg{width:22px;height:22px}.photo-dialog-close:focus-visible{outline-color:var(--mint)}
html:lang(ja){font-family:EnosisJP,'Hiragino Kaku Gothic ProN',sans-serif}html:lang(zh-Hans){font-family:EnosisSC,'PingFang SC','Microsoft YaHei',sans-serif}html:lang(ja),html:lang(zh-Hans){line-break:strict;word-break:normal}html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,html:lang(zh-Hans) h1,html:lang(zh-Hans) h2,html:lang(zh-Hans) h3{letter-spacing:0;line-height:1.5;font-weight:600;text-wrap:pretty}html:lang(ja) h1{font-size:clamp(34px,4.5vw,64px);line-height:1.55;max-width:17em}html:lang(zh-Hans) h1{font-size:clamp(38px,5.1vw,74px);line-height:1.5}html:lang(ja) h2,html:lang(zh-Hans) h2{font-size:clamp(28px,3.1vw,44px)}html:lang(ja) h3,html:lang(zh-Hans) h3{font-size:25px}html:lang(ja) .reading-section p{line-height:2;max-width:36em;font-size:18px}html:lang(zh-Hans) .reading-section p{line-height:1.9;font-size:19px}html:lang(ja) .desktop-nav,html:lang(zh-Hans) .desktop-nav{font-size:14px;gap:24px}html:lang(ja) .hero-message{grid-template-columns:1.5fr 1fr}html:lang(ja) .hero-aside p,html:lang(zh-Hans) .hero-aside p{font-size:18px;line-height:1.85}html:lang(ja) .pathway h3,html:lang(zh-Hans) .pathway h3{font-size:22px}html:lang(ja) .page-opening h1{font-size:clamp(34px,4vw,56px)}html:lang(ja) .page-intro{font-size:18px;line-height:1.9}html:lang(zh-Hans) .page-intro{font-size:20px;line-height:1.85}html:lang(ja) .project-card-info h2,html:lang(zh-Hans) .project-card-info h2{font-size:29px}html:lang(ja) .breadcrumbs,html:lang(zh-Hans) .breadcrumbs{line-height:1.75}html:lang(ja) .footer-mail,html:lang(zh-Hans) .footer-mail{font-family:Hanken,sans-serif}
@media(min-width:1450px){.photographic-union{height:340px}.hero-message{margin-bottom:48px}.hero-aside{max-width:420px}.home-hero{padding-top:65px}}
@media(max-width:1200px){.header-inner{gap:22px}.brand img{width:122px}.desktop-nav{gap:18px;font-size:14px}.header-actions{gap:16px}.header-contact{padding:9px 12px}.hero-message{gap:5%}.pathway h3{font-size:22px}.service-entry{gap:36px}.footer-columns{gap:4%}.locale-ja .desktop-nav,.locale-zh .desktop-nav{gap:16px;font-size:13px}.locale-ja .header-actions,.locale-zh .header-actions{gap:12px}.locale-ja .header-contact,.locale-zh .header-contact{padding-inline:12px}.local-profile{grid-template-columns:1fr 2fr}.local-profile>.button{grid-column:2}}
@media(max-width:1040px){.desktop-nav{display:none}.header-actions{margin-inline-start:auto}.mobile-nav{display:block}.mobile-nav>summary{display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 0}.mobile-nav>summary>svg{width:26px;height:26px}.mobile-nav>nav{position:absolute;top:96px;left:0;right:0;background:var(--white);padding:20px var(--gutter) 36px;max-height:calc(100dvh - 96px);overflow:auto;border-bottom:1px solid var(--line);box-shadow:0 15px 24px #35152610}.mobile-nav nav>a,.mobile-nav nav>.expertise-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:21px;line-height:1.4}.mobile-nav .expertise-panel{position:static;display:block;background:var(--mint);color:var(--ink);box-shadow:none;padding:18px 24px;margin-bottom:18px}.mobile-nav .expertise-all{font-size:18px}.mobile-nav .expertise-panel>div{display:block}.mobile-nav .expertise-panel>div>a{font-size:16px;border-color:#a0bcaf;padding:16px 0}.mobile-nav .mobile-contact{color:var(--plum);font-weight:700}.expertise-panel a:hover{color:inherit}.pathway-grid{grid-template-columns:1fr 1fr}.pathway:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.pathway:nth-child(4){border-top:1px solid var(--line)}.pathway h3{font-size:26px;max-width:24ch}.photographic-union{height:270px;gap:14px}.hero-message h1{font-size:clamp(42px,6.6vw,70px)}.hero-aside p{font-size:18px}.hero-aside .button{font-size:14px;padding:14px 18px}.footer-top{grid-template-columns:1fr 1.5fr}.footer-mail{grid-column:1/-1;justify-content:start;margin-top:18px}.article-layout{gap:7%;grid-template-columns:1fr 2.8fr}.page-opening-grid{gap:6%}.page-opening h1{font-size:clamp(42px,5.5vw,60px)}.page-intro{font-size:19px}.contact-area{gap:8%}.contact-brief{padding:28px}.international-links{gap:26px}.locale-ja .hero-message h1{font-size:46px}.locale-zh .hero-message h1{font-size:54px}}
@media(max-width:760px){:root{--gutter:22px;--space:74px}.header-inner{min-height:78px;gap:16px}.brand img{width:120px}.header-actions{gap:20px}.header-contact{display:none}.language-menu{font-size:13px}.language-menu>summary{gap:5px}.mobile-nav>summary{font-size:14px;gap:10px}.mobile-nav>nav{top:78px;max-height:calc(100dvh - 78px)}.home-hero{padding-top:32px}.hero-message{grid-template-columns:1fr;gap:25px;margin-bottom:34px}.hero-message h1{font-size:clamp(41px,9.4vw,66px);line-height:1.12;letter-spacing:-.035em;max-width:18ch}.hero-aside{max-width:100%;padding:0}.hero-aside p{font-size:17px;line-height:1.6;max-width:38ch;margin-bottom:22px}.hero-aside .button{font-size:14px;min-height:50px;padding:13px 18px;gap:20px}.photographic-union{height:210px;grid-template-columns:1.1fr 1fr;gap:12px}.hero-photo-a{border-radius:0 0 0 44px;margin-top:12px}.hero-photo-b{display:none}.hero-photo-c{border-radius:0 44px 0 0;margin-bottom:12px;margin-top:0}.hero-photo span{font-size:11px;left:8px;bottom:10px;padding:5px 8px}.union-trace{height:280px;inset:-35px -12px;width:calc(100% + 24px)}.hero-foot{min-height:66px;font-size:11px;gap:20px}.hero-foot a{gap:8px}.hero-foot svg{width:18px}.section-header{display:block;margin-bottom:30px}.section-header h2{max-width:21ch}.section-header>.text-link{margin-top:24px;font-size:15px}.pathway-grid{grid-template-columns:1fr}.pathway,.pathway+.pathway,.pathway:nth-child(3){padding:25px 56px 25px 0;border-left:0;border-top:1px solid var(--line)}.pathway:first-child{border-top:0}.pathway h3{font-size:27px;max-width:22ch}.pathway h3 br{display:none}.pathway p{margin-top:14px;max-width:45ch}.pathway-arrow{position:absolute;right:0;top:26px;margin-top:0;width:38px;height:38px}.pathway-arrow .arrow{width:21px;height:21px}.belief-layout{grid-template-columns:1fr;gap:32px}.belief-layout h2{font-size:35px;max-width:23ch}.belief-layout p{font-size:17px}.partnership-feature{grid-template-columns:1fr;gap:36px}.partnership-image{max-width:100%;border-radius:4px 4px 60px 4px}.partnership-image img{aspect-ratio:1.07;object-position:50% 35%}.partner-brands{margin-bottom:25px}.partnership-copy h2{font-size:40px}.partnership-copy p{font-size:17px;margin-block:20px 27px}.home-project-grid{grid-template-columns:1fr;gap:42px}.home-project-grid .project-card:nth-child(2){margin-top:0}.project-card-info h2{font-size:30px}.project-card-info{gap:14px}.round-link{width:43px;height:43px}.learning-grid{grid-template-columns:1fr;gap:40px}.learning-grid p{font-size:17px}.learning-grid h2{font-size:39px}.learning-grid img{border-radius:50px 4px 4px 4px}.innovation-grid{grid-template-columns:1fr;gap:30px}.union-digital{max-width:245px;justify-self:center}.union-digital>span{font-size:11px;padding:12px;letter-spacing:.15em}.innovation-grid h2{font-size:40px}.innovation-grid p{font-size:17px}.closing{padding-block:58px}.closing-layout{grid-template-columns:1fr;gap:30px}.closing h2{font-size:35px;max-width:20ch}.closing p{font-size:16px}.closing-union{width:240px;top:-60px;right:-140px}.site-footer{padding-top:48px}.footer-top{grid-template-columns:1fr;gap:28px;padding-bottom:36px}.footer-top .brand img{width:144px}.footer-top p{font-size:24px;max-width:26ch}.footer-mail{font-size:25px;grid-column:auto;margin:0;gap:24px}.footer-columns{grid-template-columns:1fr 1fr;gap:36px 20px;padding-block:38px}.footer-columns>div:nth-child(3){grid-column:1/-1}.footer-columns>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}.footer-columns>div:last-child h2{grid-column:1/-1;margin-top:16px;margin-bottom:12px}.footer-columns p,.footer-columns a{font-size:13px}.footer-bottom{align-items:start;flex-direction:column;gap:18px;padding-bottom:30px}.breadcrumbs{font-size:12px;padding-block:17px;gap:8px}.page-opening{padding-block:24px 45px}.page-opening-grid{grid-template-columns:1fr;gap:34px}.page-opening h1{font-size:clamp(38px,9.6vw,57px);max-width:19ch}.page-intro{font-size:18px;margin-block:24px;line-height:1.65}.page-opening .button{font-size:15px}.opening-photo img{aspect-ratio:1.3;border-radius:4px 50px 4px 4px}.opening-photo figcaption{font-size:11px;margin-top:12px}.page-opening-text{padding-bottom:48px}.page-opening-tesori .opening-photo{max-width:100%}.page-opening-tesori .opening-photo img{aspect-ratio:1.1;object-position:50% 30%}.page-tesori .page-opening h1{font-size:42px}.project-meta{margin-top:24px;gap:8px}.project-meta>div{font-size:12px}.article-layout{grid-template-columns:1fr;gap:38px;padding-top:48px}.section-index{position:static;padding:20px;background:var(--mint);border:0;border-radius:4px}.section-index h2{font-size:14px;margin-bottom:12px}.section-index li{padding-block:8px;font-size:14px}.section-index li a{display:block}.reading-section{padding-bottom:40px}.reading-section+.reading-section{padding-top:40px}.reading-section h2{font-size:30px;max-width:25ch;margin-bottom:18px}.reading-section p{font-size:17px;line-height:1.8}.activity-list li{font-size:16px}.gallery-section{padding-top:16px}.gallery-section>h2{font-size:30px;margin-bottom:30px}.photo-gallery{grid-template-columns:1fr;gap:34px}.photo-gallery>figure:nth-child(2){margin-top:0}.document-photo figcaption{font-size:12px}.single-photo .document-photo img{aspect-ratio:1.45}.related>h2{font-size:28px}.related>div{grid-template-columns:1fr;gap:16px}.related h3{font-size:24px}.related a{padding-block:20px}.process-band{padding-block:40px}.process-band>.wrap{grid-template-columns:1fr;gap:22px}.process-band h2{font-size:30px}.process-band li{font-size:18px}.process-band .button{grid-column:auto}.international-links{grid-template-columns:1fr;gap:38px}.international-links>a{position:relative;padding-right:44px}.international-links h2{font-size:30px;max-width:22ch}.international-links .arrow{position:absolute;right:0;top:32px}.service-entry{grid-template-columns:1fr auto;gap:24px;padding-block:32px}.service-entry>div:first-child{grid-column:1}.service-entry h2{font-size:32px;max-width:21ch}.service-entry p{font-size:16px}.service-entry-picture{grid-column:1/-1;grid-row:2}.service-entry-arrow{grid-column:2;grid-row:1;align-self:start;margin-top:8px}.service-entry-arrow .arrow{width:26px;height:26px}.project-list{grid-template-columns:1fr;gap:48px}.project-filter{gap:8px;padding-bottom:24px}.project-filter button{padding:9px 16px;font-size:14px}.contact-area{grid-template-columns:1fr;gap:45px}.contact-brief{padding:26px 20px}.contact-area h2{font-size:28px}.contact-email{font-size:25px;gap:16px}.contact-brief .button{font-size:15px;width:100%}.local-profile{grid-template-columns:1fr;gap:25px;padding-block:32px}.local-profile dl{display:grid;grid-template-columns:1fr 1fr;gap:20px}.local-profile>.button{grid-column:auto;justify-self:start}.quick-access{grid-template-columns:1fr 1fr;gap:0 22px;padding-block:14px}.quick-access a{font-size:15px;padding-block:16px;border-bottom:1px solid var(--line)}.quick-access a .arrow{width:18px;height:18px;flex-basis:18px}.photo-dialog{padding:45px 16px 20px;max-width:96vw}.photo-dialog figcaption{font-size:12px}.error-page>h1{font-size:42px}.error-languages{gap:18px;flex-wrap:wrap}.locale-ja .hero-message h1{font-size:clamp(31px,7.4vw,45px);line-height:1.65}.locale-zh .hero-message h1{font-size:clamp(38px,9.5vw,54px);line-height:1.5}.locale-ja .hero-message{gap:18px}.locale-ja .hero-aside p,.locale-zh .hero-aside p{font-size:16px;line-height:1.85}.locale-ja .pathway h3,.locale-zh .pathway h3{font-size:23px}.locale-ja .pathway p,.locale-zh .pathway p{font-size:15px;line-height:1.9}.locale-ja .page-opening h1{font-size:clamp(30px,7.6vw,42px)}.locale-zh .page-opening h1{font-size:clamp(34px,8.5vw,48px)}.locale-ja .page-intro,.locale-zh .page-intro{font-size:17px;line-height:1.9}.locale-ja .reading-section h2,.locale-zh .reading-section h2{font-size:27px}.locale-ja .reading-section p,.locale-zh .reading-section p{font-size:17px;line-height:2}.locale-ja .project-card-info h2,.locale-zh .project-card-info h2{font-size:26px}.locale-ja .closing h2,.locale-zh .closing h2{font-size:29px}}
@media(max-width:360px){:root{--gutter:17px}.brand img{width:104px}.header-actions{gap:15px}.mobile-nav>summary{gap:6px}.hero-message h1{font-size:38px}.hero-aside .button{font-size:13px;gap:14px;padding-inline:15px}.photographic-union{height:180px}.hero-foot{font-size:10px}.hero-foot a{gap:5px}.hero-foot svg{width:14px}.contact-email{font-size:21px}.locale-ja .hero-message h1{font-size:29px}.locale-ja .hero-aside .button{font-size:14px}}
@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:220ms}::view-transition-group(tesori-photo){animation-duration:480ms;animation-timing-function:var(--ease)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.digital-node{animation:none!important;offset-distance:20%}.union-trace path{stroke-dashoffset:0}::view-transition-old(root),::view-transition-new(root),::view-transition-group(tesori-photo){animation:none!important}}
@media(forced-colors:active){.button,.header-contact,.pathway-arrow,.project-filter button{border:1px solid ButtonText}.hero-message h1 span{color:CanvasText}.hero-photo span{background:Canvas;color:CanvasText}.union-trace{display:none}}
@media print{.site-header,.site-footer,.closing,.section-index,.photo-dialog,.project-filter,.copy-email{display:none!important}body{font-size:12pt;background:white;color:black}.wrap{width:100%}h1{font-size:30pt}h2{font-size:22pt}.home-hero,.innovation-panel,.page-opening{background:white;color:black}.hero-message h1 span{color:black}.article-layout,.page-opening-grid{display:block}.reading-section{break-inside:avoid}.opening-photo{max-width:50%}a{text-decoration:underline}.page-intro,.reading-section p{color:black;font-size:12pt}}
/* Project facts remain a semantic list, not empty description-list terms. */
.project-meta{list-style:none;padding:0}.project-meta>li{border:1px solid #aec5b8;background:var(--white);padding:8px 12px;font-size:13px;border-radius:3px}
/* Harden: intrinsic grid widths, translated labels and narrow mobile layouts. */
.project-card,.project-card-info,.project-card-info>div{min-width:0}.project-card-info{grid-template-columns:minmax(0,1fr) auto}.project-card-info h2,.partnership-copy h2{overflow-wrap:break-word}.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.project-list{grid-template-columns:minmax(0,1fr)}html:lang(ja) .hero-message{grid-template-columns:1fr}html:lang(ja) .hero-message h1{font-size:clamp(31px,7.4vw,45px);line-height:1.65}html:lang(ja) .hero-aside p{font-size:16px;line-height:1.85}.related h3{overflow-wrap:anywhere}.project-card-info h2{font-size:29px}}
@media(max-width:360px){.partnership-copy h2{font-size:34px}html:lang(ja) .hero-message h1{font-size:29px}}
.digital-service-visual{min-width:0;color:var(--mint-bright)}.digital-service-visual .union-digital{margin:auto}.digital-service-visual ul{list-style:none;padding:0;margin-top:24px;border-top:1px solid #926e7d}.digital-service-visual li{font-size:17px;padding-block:15px;border-bottom:1px solid #926e7d;color:var(--on-plum)}
@media(max-width:760px){.digital-service-visual .union-digital{max-width:270px}.digital-service-visual ul{margin-top:8px}.digital-service-visual li{font-size:16px}}
@media(max-width:760px){.hero-foot{font-size:12px}.hero-foot a{min-height:44px}.photo-dialog-close{width:44px;height:44px}.footer-columns a{min-height:36px;display:flex;align-items:center}.footer-bottom a{display:inline-block;padding-block:8px}}
@media(max-width:360px){.hero-foot{font-size:11px}}
input,textarea{caret-color:var(--plum)}.home-hero :focus-visible,.innovation-panel :focus-visible,.site-footer :focus-visible,.page-opening-digitale :focus-visible{outline-color:var(--mint-bright)}
/* Finish review: logo rows must not impose an intrinsic grid width on 320px. */
.partnership-feature{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.partnership-copy,.partner-brands{min-width:0}.partner-brands{width:310px;max-width:100%;gap:18px}.partner-brands>img{width:calc((100% - 72px)/2);min-width:0;flex:0 1 auto}
@media(max-width:760px){.partnership-feature{grid-template-columns:minmax(0,1fr)}}
/* Client corrections: safe labels, authored image focus, consistent controls. */
.hero-photo>span{z-index:3;max-width:calc(100% - 48px);line-height:1.4}.hero-photo-a>span{left:48px;bottom:24px}
img[data-photo="intervento-dugo"]{object-position:50% 12%}
.arrow,.chevron,.hero-foot svg{display:block}.chevron{width:18px;height:18px;flex:0 0 18px;transition:transform 200ms var(--ease)}.language-menu summary>.chevron,.expertise-menu>summary>.chevron{width:18px;height:18px}.site-header summary>svg{display:block;flex-shrink:0}.mobile-nav[open]>summary>svg{transform:none}.mobile-nav[open] .expertise-menu[open]>summary>.chevron{transform:rotate(180deg)}
.contact-brief label>.select-field{display:block;position:relative;margin:8px 0 0}.contact-brief .select-field select{appearance:none;-webkit-appearance:none;margin:0;min-height:52px;line-height:1.5;padding:12px 48px 12px 14px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.select-field>.chevron{position:absolute;inset-inline-end:16px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ink)}
@media(max-width:760px){.hero-photo-a>span{left:16px;bottom:18px}.hero-photo>span{max-width:calc(100% - 32px)}}
@media(forced-colors:active){.contact-brief .select-field select{border:1px solid ButtonText}.select-field>.chevron{color:ButtonText}}
