/* Taddei SA — architectural, responsive visual system */
:root{--orange:#ed701d;--ink:#242722;--muted:#62645e;--paper:#f5f4ef;--line:#d9dad2;--max:1440px;--gutter:clamp(22px,5vw,80px)}
*{box-sizing:border-box}body,h1,h2,h3,p,ul{margin:0}html{scroll-behavior:smooth;scroll-padding-top:110px}body{font-family:'Manrope',Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}svg{width:24px;height:24px}a,button{touch-action:manipulation}:focus-visible{outline:3px solid var(--orange);outline-offset:5px}[hidden]{display:none!important}.container{max-width:var(--max);margin:auto;padding-inline:var(--gutter)}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px;z-index:300}.skip-link:focus{top:12px}
#header{position:sticky;top:0;background:#fff;z-index:100;border-bottom:1px solid var(--line)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{display:block;width:80px;flex-shrink:0}.logo-img{width:100%;height:auto}.logo-text{flex-direction:column}.logo-name{font-size:26px;font-weight:800;color:var(--orange)}.logo-sub{font-size:11px;display:block}nav ul{display:flex;align-items:center;gap:clamp(16px,2vw,32px);list-style:none;padding:0}nav a{font-size:12px;font-weight:700;display:block;padding:12px 0}nav a:hover,nav a.active{color:#a9470a}nav li:last-child a{border:1px solid var(--ink);padding:11px 23px}nav li:last-child a:hover{background:var(--ink);color:white}.menu-toggle{display:none;border:0;background:none;width:48px;height:48px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:26px;height:2px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-8px) rotate(-45deg)}
.hero-heading{padding-top:58px;padding-bottom:40px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:25px}.orange-dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:10px}h1{font-size:clamp(42px,6.4vw,94px);letter-spacing:-.065em;font-weight:500;line-height:1.08}h1 span{color:var(--ink)}.hero-intro{display:flex;align-items:end;justify-content:space-between;margin-top:28px;gap:24px;font-size:13px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--ink);padding-bottom:10px;font-size:13px;font-weight:700}.text-link span{font-size:24px}.hero-photo{position:relative;margin:0 var(--gutter);height:clamp(300px,39vw,590px);background:#b8c2c4;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.hero-photo-caption{position:absolute;bottom:28px;left:30px;right:30px;z-index:1;color:#fff;display:flex;align-items:center;justify-content:space-between;font-size:12px}.hero-photo-caption strong{font-weight:500;opacity:.8}.hero-photo-caption a{width:52px;height:52px;background:var(--orange);color:#20231f;display:grid;place-items:center;font-size:30px}.photo-index{position:absolute;right:30px;top:25px;background:var(--paper);padding:6px 12px;font-size:9px;letter-spacing:.12em}.values-strip{display:flex;justify-content:flex-end;padding-block:25px;font-size:12px}.values-strip a{margin-left:35px;font-size:22px}
.section{padding:100px 0}.section-title{font-size:clamp(34px,4.3vw,64px);letter-spacing:-.05em;font-weight:500;line-height:1.15;margin-bottom:45px}.section-intro{max-width:670px;color:var(--muted);margin-top:-18px;margin-bottom:45px;font-size:17px}.history-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.history-item{border-top:1px solid var(--line);padding-top:20px}.history-year{font-size:45px;letter-spacing:-.05em;color:#ad4e0f;margin-bottom:30px}.history-content h3{font-size:16px;font-weight:700;margin-bottom:14px}.dates{display:block;color:var(--muted);font-size:12px;font-weight:400}.history-content p{font-size:13px;color:var(--muted)}.section-alt{background:#eaece5}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service-card{position:relative;border-top:1px solid #bfc3b8;padding-top:28px}.service-icon{margin-bottom:34px;color:#ad4e0f}.service-icon svg{width:42px;height:42px}.service-card h3{font-size:19px;letter-spacing:-.03em;margin-bottom:16px}.service-card p{font-size:13px;color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-heading p{font-size:13px;color:var(--muted)}.gallery-tools{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding:20px 0 30px;font-size:12px}.gallery-tools label{font-weight:700}.gallery-tools input{border:0;border-bottom:1px solid #94988d;background:transparent;padding:10px 0;min-width:260px;border-radius:0}.gallery-tools #project-count{margin-left:auto;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.gallery-item{position:relative;cursor:pointer;min-width:0}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:filter .25s}.gallery-item:hover img{filter:brightness(.88)}.gallery-caption{font-size:12px;font-weight:600;padding:14px 24px 0 0;line-height:1.5}.gallery-caption span{display:block;color:var(--muted);font-size:11px;margin-top:3px;font-weight:400}.gallery-overlay{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:34px;height:34px;background:var(--paper);border-radius:50%}.gallery-overlay svg{width:15px;height:15px}.gallery-more{display:block;margin:42px auto 0;padding:15px 30px;background:transparent;border:1px solid var(--ink);font-size:12px;font-weight:700}.gallery-more:hover{background:var(--ink);color:white}.empty-state{padding:40px 0;color:var(--muted)}
#storia{background:#eee9df;color:var(--ink)}#storia .eyebrow{color:#97440e}#storia .section-intro{color:var(--muted)}.history-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}/* Historical originals are 1366×651; the photo occupies x=304…1366, y=0…500. Crop only the preview frame. */
.history-gallery .gallery-item{aspect-ratio:1062/500;overflow:hidden}.history-gallery .gallery-item img{position:absolute;top:0;left:-28.62524%;width:128.62524%;max-width:none;height:auto;aspect-ratio:auto}.history-gallery .gallery-overlay{color:var(--ink)}.org-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.org-group-title{font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-top:1px solid #bfc3b8;padding-top:18px;margin-bottom:28px;color:#97440e}.org-members{display:grid;gap:24px}.member-avatar{display:none}.member-info{display:flex;flex-direction:column}.member-info strong{font-size:17px;font-weight:500}.member-info span{font-size:12px;color:var(--muted)}.loghi{display:flex;gap:40px;align-items:center;margin-top:60px;border-top:1px solid var(--line);padding-top:30px}.loghi img{height:50px;width:auto;max-width:45%;object-fit:contain;mix-blend-mode:multiply}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-icon{display:none}.contact-item strong{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--muted);margin-bottom:12px}.contact-item p{font-size:13px}.contact-item a{overflow-wrap:anywhere}.contact-item a:hover{text-decoration:underline}.contact-map{min-height:280px;background:#eaece5}.contact-map iframe{width:100%;height:100%;min-height:280px;border:0;display:block}footer{background:#fff;border-top:3px solid var(--orange);padding:36px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-logo{display:inline-flex;flex-direction:column;gap:12px}.footer-logo-mark{display:block;width:140px}.footer-logo-mark img{width:100%;height:auto}.footer-logo .logo-sub{color:var(--ink)}.footer-copy{font-size:10px}
.lightbox{display:none;position:fixed;inset:0;z-index:200;background:#171a17f5;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox-img-wrap{width:85vw;display:flex;flex-direction:column;align-items:center;gap:18px}.lightbox-img-wrap img{max-height:75dvh;width:auto;max-width:100%;object-fit:contain}.lightbox-caption{color:white;font-size:13px;text-align:center}.lightbox button{position:absolute;background:#353b33;color:#fff;border:1px solid #64685f;width:48px;height:48px;font-size:24px;z-index:1}.lightbox-close{top:20px;right:20px}.lightbox-prev{left:20px;top:50%}.lightbox-next{right:20px;top:50%}
@media(min-width:1500px){.hero-photo{max-width:1280px;margin-inline:auto}}
@media(max-width:1050px){.header-inner{height:80px}.logo{width:64px}.menu-toggle{display:flex}#nav{display:none;position:absolute;top:80px;left:0;right:0;padding:25px var(--gutter) 35px;background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100dvh - 80px);overflow:auto}#nav.open{display:block}nav ul{display:block}nav a{font-size:23px;border-bottom:1px solid var(--line);padding:12px 0}nav li:last-child a{margin-top:20px;text-align:center}.history-grid,.services-grid{grid-template-columns:repeat(2,1fr);gap:40px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:30px}.contact-info{grid-template-columns:1fr}.org-groups{gap:25px}}
@media(max-width:600px){html{scroll-padding-top:95px}.header-inner{height:74px}.logo{width:58px}#nav{top:74px;max-height:calc(100dvh - 74px)}.hero-heading{padding-top:38px;padding-bottom:30px}.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:20px}h1{font-size:clamp(35px,8.7vw,52px);letter-spacing:-.055em}.hero-intro{display:block;margin-top:24px;font-size:12px}.text-link{margin-top:22px;gap:35px;font-size:12px}.hero-photo{height:350px;margin-inline:0}.hero-photo>img{object-position:55% center}.hero-photo-caption{left:22px;right:22px;bottom:20px}.photo-index{right:22px;top:20px}.values-strip{font-size:10px;gap:22px;align-items:center}.values-strip span:last-child{max-width:155px}.values-strip a{margin-left:8px}.section{padding:64px 0}.section-title{margin-bottom:32px}.history-grid{grid-template-columns:1fr;gap:28px}.history-item{display:grid;grid-template-columns:80px 1fr;gap:15px}.history-year{font-size:33px;margin:0}.history-content p{font-size:13px}.services-grid{gap:32px 20px}.service-card h3{font-size:17px}.service-card p{font-size:12px}.section-intro{font-size:14px;margin-top:-8px}.section-heading{display:block}.section-heading p{margin-top:-18px;margin-bottom:28px}.gallery-tools{flex-wrap:wrap;gap:8px}.gallery-tools label{width:100%}.gallery-tools input{min-width:0;flex:1;width:65%;font-size:13px}.gallery-tools #project-count{font-size:10px}.gallery{grid-template-columns:1fr;gap:30px}.gallery-caption{font-size:13px}.history-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.org-groups{grid-template-columns:1fr;gap:35px}.org-group-title{margin-bottom:20px}.org-members{gap:18px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-info{grid-template-columns:1fr 1fr;gap:25px 16px}.contact-item p{font-size:12px}.footer-inner{display:block}.footer-copy{margin-top:22px}.lightbox-img-wrap{width:94vw}.lightbox-prev,.lightbox-next{top:auto;bottom:24px}.lightbox-caption{max-width:85%;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
