:root{
  --bg:#f4f2ee;--paper:#fff;--ink:#121212;--muted:#6b6b67;--line:#d8d5cf;--dark:#111312;--accent:#84786a;
  --serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --max:1320px;--pad:clamp(20px,4vw,64px);--radius:2px;--ease:cubic-bezier(.2,.8,.2,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(var(--max),calc(100% - 2*var(--pad)));margin:auto}.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.section{padding:110px 0}.section-sm{padding:72px 0}.display{font:400 clamp(3rem,6.4vw,7.4rem)/.92 var(--serif);letter-spacing:-.045em;margin:0}.h1{font:400 clamp(2.8rem,5vw,5.5rem)/.98 var(--serif);letter-spacing:-.035em;margin:0}.h2{font:400 clamp(2rem,3.7vw,4rem)/1.03 var(--serif);letter-spacing:-.03em;margin:0}.h3{font:400 clamp(1.3rem,2vw,2rem)/1.1 var(--serif);margin:0}.lead{font-size:clamp(1rem,1.35vw,1.2rem);color:#444;max-width:62ch}.muted{color:var(--muted)}.kicker{display:flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.kicker:before{content:'';width:32px;height:1px;background:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--ink);padding:14px 18px;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;transition:.3s var(--ease);background:transparent}.btn:hover{background:var(--ink);color:#fff}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#2a2a28}.btn-light{border-color:#fff;color:#fff}.btn-light:hover{background:#fff;color:#111}.arrow{width:34px;height:14px;object-fit:contain}.grid{display:grid;gap:28px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in{opacity:1;transform:none}

/* Header */
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;transition:.35s var(--ease);color:#fff}.site-header.scrolled,.site-header.light{background:rgba(247,246,242,.94);backdrop-filter:blur(14px);color:var(--ink);border-bottom:1px solid rgba(0,0,0,.08)}.nav{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;min-width:0}.brand img{width:230px;max-width:100%;height:auto;object-fit:contain;object-position:left center;display:block}.site-header:not(.scrolled):not(.light) .brand .logo-dark{display:none}.site-header.scrolled .brand .logo-light,.site-header.light .brand .logo-light{display:none}.nav-links{display:flex;align-items:center;gap:34px;font-size:.8rem}.nav-links a{position:relative}.nav-links a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:currentColor;transition:.3s}.nav-links a:hover:after,.nav-links a.active:after{right:0}.menu-toggle{display:none;background:transparent;border:0;color:currentColor;width:42px;height:42px;position:relative}.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:'';position:absolute;left:9px;right:9px;height:1px;background:currentColor;transition:.3s}.menu-toggle:before{top:13px}.menu-toggle span{top:20px}.menu-toggle:after{top:27px}.menu-toggle.open span{opacity:0}.menu-toggle.open:before{transform:translateY(7px) rotate(45deg)}.menu-toggle.open:after{transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;color:#fff;background:#111;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.24) 52%,rgba(0,0,0,.16) 100%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}.hero-media img{width:100%;height:100%;object-fit:contain;background:#111}.hero-content{position:relative;z-index:2;padding:190px 0 72px;width:100%}.hero-copy{max-width:760px}.hero .display{max-width:760px}.hero-lead{max-width:620px;font-size:1rem;color:rgba(255,255,255,.82);margin:28px 0 34px}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:80px;padding-top:26px;border-top:1px solid rgba(255,255,255,.35);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}.hero-meta{display:flex;gap:28px;flex-wrap:wrap}.scroll-cue{display:flex;align-items:center;gap:12px}.scroll-cue i{display:block;width:42px;height:1px;background:#fff}

/* Intro + services */
.intro-grid{grid-template-columns:1.1fr .9fr;align-items:start}.intro-statement{max-width:850px}.intro-side{padding-top:36px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:72px}.stat{background:var(--bg);padding:32px 24px}.stat strong{display:block;font:400 2.4rem var(--serif);margin-bottom:6px}.stat span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.services-grid{grid-template-columns:repeat(4,1fr);margin-top:48px;gap:1px;background:var(--line)}.service-card{background:var(--bg);padding:38px 30px;min-height:290px;display:flex;flex-direction:column;transition:.35s}.service-card:hover{background:#ebe8e1}.service-icon{width:44px;height:44px;margin-bottom:48px}.service-card h3{font:400 1.35rem var(--serif);margin:0 0 12px}.service-card p{font-size:.9rem;color:var(--muted);margin:0}.service-card a{margin-top:auto;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}

/* Projects */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:48px}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:28px}.project-card{grid-column:span 6}.project-card.large{grid-column:span 7}.project-card.small{grid-column:span 5}.project-thumb{position:relative;overflow:hidden;background:#ddd}.project-card.tall .project-thumb{aspect-ratio:auto}.project-thumb img{width:100%;height:auto;object-fit:contain;transition:opacity .3s var(--ease)}.project-card:hover .project-thumb img{opacity:.94}.project-thumb:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.3),transparent 45%);opacity:.5}.project-info{display:flex;justify-content:space-between;gap:20px;padding-top:14px}.project-title{font:400 1.25rem var(--serif)}.project-meta{font-size:.76rem;color:var(--muted);margin-top:4px}.project-no{font-size:.72rem;color:var(--muted)}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 40px}.filter-btn{border:1px solid var(--line);background:transparent;padding:9px 15px;font-size:.74rem}.filter-btn.active,.filter-btn:hover{background:#161616;color:#fff;border-color:#161616}

/* Dark CTA */
.cta{background:var(--dark);color:#fff;padding:84px 0}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta .h2{max-width:760px}.cta p{color:#aaa;max-width:480px}

/* Internal page hero */
.page-hero{min-height:64svh;display:flex;align-items:flex-end;position:relative;color:#fff;background:#111;overflow:hidden}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#111}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.15)),linear-gradient(90deg,rgba(0,0,0,.38),transparent 70%)}.page-hero-content{position:relative;z-index:2;padding:180px 0 64px}.page-hero .lead{color:rgba(255,255,255,.8)}

/* Project detail */
.project-overview{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid var(--line);padding-top:26px}.fact span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:7px}.detail-copy p{color:#555}.detail-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:72px}.detail-gallery figure{margin:0;overflow:hidden;background:#ddd}.detail-gallery figure:nth-child(1){grid-column:span 12}.detail-gallery figure:nth-child(2){grid-column:span 5}.detail-gallery figure:nth-child(3){grid-column:span 7}.detail-gallery figure:nth-child(4){grid-column:span 7}.detail-gallery figure:nth-child(5){grid-column:span 5}.detail-gallery img{width:100%;height:auto;object-fit:contain;min-height:0}.quote{font:400 clamp(2rem,3.4vw,3.8rem)/1.15 var(--serif);max-width:980px;margin:70px auto;text-align:center}.quote small{display:block;margin-top:20px;font:400 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* Services page */
.service-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding:70px 0;border-top:1px solid var(--line);align-items:center}.service-row:nth-child(even) .service-copy{order:2}.service-row:nth-child(even) .service-photo{order:1}.service-photo{overflow:hidden}.service-photo img{width:100%;height:auto;object-fit:contain}.service-number{font-size:.72rem;letter-spacing:.15em;color:var(--muted)}.service-copy ul{padding-left:18px;color:#555}.service-copy li{margin:8px 0}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-photo{overflow:hidden}.about-photo img{width:100%;height:auto;object-fit:contain}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:48px}.value{background:var(--bg);padding:28px}.value strong{font:400 1.25rem var(--serif);display:block;margin-bottom:9px}.value p{font-size:.85rem;color:var(--muted);margin:0}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-list{display:grid;gap:26px;margin-top:44px}.contact-item{display:grid;grid-template-columns:28px 1fr;gap:15px}.contact-item img{width:22px}.contact-item span{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.55);padding:15px 14px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#222}.field textarea{min-height:160px;resize:vertical}.form-note{font-size:.76rem;color:var(--muted);grid-column:1/-1}.status{padding:13px 15px;margin-bottom:18px;border:1px solid var(--line);display:none}.status.show{display:block}.status.ok{background:#edf5ee;border-color:#c2dcc7}.status.err{background:#f9eeee;border-color:#e3c0c0}

/* Footer */
.footer{background:#0f1110;color:#fff;padding:64px 0 34px}.footer-top{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:60px;padding-bottom:52px;border-bottom:1px solid #2f312f}.footer-brand img{width:250px;max-width:100%;height:auto;object-fit:contain;object-position:left center;display:block}.footer p{color:#969996;max-width:430px;font-size:.88rem}.footer-col h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:#8e918e;margin:0 0 18px}.footer-links{display:grid;gap:9px;font-size:.84rem}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:28px;color:#7d817d;font-size:.72rem}.social{display:flex;gap:16px}.social img{width:19px;height:19px;filter:invert(1);opacity:.75}

/* utility */
.split-image{display:grid;grid-template-columns:1fr 1fr;gap:24px}.split-image img{width:100%;height:auto;object-fit:contain}.strip{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap}.strip-track{display:flex;gap:50px;font:400 1.4rem var(--serif);animation:marquee 30s linear infinite;width:max-content}.strip-track span:after{content:'•';margin-left:50px;color:#999}@keyframes marquee{to{transform:translateX(-50%)}}.not-found{min-height:100vh;display:grid;place-items:center;text-align:center;padding:40px}.not-found .display{font-size:9rem;color:#d1cec7}

@media(max-width:980px){
  .nav-links{position:fixed;inset:88px 0 auto 0;background:#f6f4ef;color:#111;padding:36px var(--pad) 44px;display:grid;gap:22px;transform:translateY(-120%);opacity:0;pointer-events:none;transition:.35s;border-bottom:1px solid var(--line)}.nav-links.open{transform:none;opacity:1;pointer-events:auto}.menu-toggle{display:block}.site-header:not(.scrolled):not(.light) .menu-toggle.open{color:#111}.brand img{width:200px}.intro-grid,.project-overview,.about-grid,.contact-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:repeat(2,1fr)}.project-grid{gap:18px}.project-card,.project-card.large,.project-card.small{grid-column:span 6}.service-row{grid-template-columns:1fr;gap:28px}.service-row:nth-child(even) .service-copy,.service-row:nth-child(even) .service-photo{order:initial}.value-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.cta-row{align-items:flex-start;flex-direction:column}.section{padding:82px 0}.hero-bottom{margin-top:60px}}
@media(max-width:680px){
  .nav{height:74px}.nav-links{inset:74px 0 auto 0}.brand img{width:170px}.hero-content{padding-top:150px;padding-bottom:36px}.hero-bottom{display:grid;gap:22px}.display{font-size:clamp(3rem,15vw,5rem)}.section-head{align-items:flex-start;flex-direction:column}.services-grid{grid-template-columns:1fr}.service-card{min-height:230px}.project-card,.project-card.large,.project-card.small{grid-column:1/-1}.project-info{padding-right:3px}.stats{grid-template-columns:1fr}.stat{padding:20px}.page-hero{min-height:58svh}.page-hero-content{padding-top:150px}.project-facts{grid-template-columns:1fr}.detail-gallery figure:nth-child(n){grid-column:1/-1}.detail-gallery img{min-height:0}.value-grid{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-top{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}.split-image{grid-template-columns:1fr}.split-image img{height:auto}.project-overview,.about-grid,.contact-grid{gap:40px}.section{padding:64px 0}.section-sm{padding:48px 0}}

/* Intra Linea logo patch */
.brand .logo-light,.brand .logo-dark,.footer-logo{image-rendering:auto}
@media(max-width:720px){.brand img{width:170px}.footer-brand img{width:220px}}
