@font-face{font-family:'Inter';src:url('../assets/fonts/Inter-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}:root{--font-serif:'Tenor Sans',sans-serif;--font-sans:'Inter',sans-serif;--font-text:'Inter',sans-serif;--color-dark:#343A40;--color-light:#F8F9FA;--color-gray:#6C757D;--color-accent:#B87333;--color-accent-2:#B87333;--color-accent-text:#8A5625;--color-accent-gradient:linear-gradient(135deg,#E59866 0%,#B87333 100%);--color-bg:#ffffff;--header-height:80px;--gutter-h:clamp(1.25rem,5vw,2.5rem);--space-xs:0.25rem;--space-s:0.5rem;--space-m:1rem;--space-l:1.5rem;--space-xl:2rem;--space-xl-2:2.5rem;--space-xl-3:3rem;--space-2xl:4rem;--space-3xl:5rem;--space-4xl:6rem;--space-5xl:8rem;--space-6xl:10rem;--space-7xl:12rem;--duration-fast:200ms;--duration-medium:500ms;--duration-slow:800ms;--ease-out:cubic-bezier(0.165,0.84,0.44,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--shadow-sm:0 2px 4px rgba(0,0,0,0.05);--shadow-md:0 5px 15px rgba(0,0,0,0.1);--shadow-lg:0 10px 30px rgba(0,0,0,0.15);--z-title-min:1.25rem;--z-title-max:2.5rem;--z-line-height:1.5;--z-text-ink:#1a1a1a}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-dark);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background-color .5s ease;padding-bottom:var(--space-4xl);cursor:auto}body.menu-open{overflow:hidden}.container{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;padding-left:var(--gutter-h);padding-right:var(--gutter-h)}h1,h2,h3,h4,h5{font-family:var(--font-serif);font-weight:700;line-height:1.1;color:var(--color-dark)}h1{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-1px}h2{font-size:clamp(4rem,8vw,6rem);letter-spacing:-0.5px}h3{font-size:clamp(1.2rem,2.5vw,1.5rem)}.heading-style-h5{font-family:var(--font-sans);font-size:1rem;font-weight:700;line-height:1.1;text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-m);color:#fff}p{font-family:var(--font-text);margin-bottom:var(--space-m);color:var(--color-dark);font-size:1.125rem;line-height:1.6}a{color:var(--color-dark);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-accent-text)}:focus-visible{outline:0;border-radius:2px;box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-accent);transition:box-shadow var(--duration-fast) var(--ease-out)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){*,::before,::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.page-hero,.project-hero,.css-parallax-container{background-attachment:scroll!important}}.main-header{position:absolute;top:var(--space-xl-3);left:0;width:100%;display:flex;justify-content:center;align-items:center;padding:0 5%;height:var(--header-height);z-index:1000;background-color:transparent;transition:background-color .3s ease;contain:layout style}.main-header a{display:block;width:180px}.main-header img{width:100%;height:auto;display:block}.hamburger-btn{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:50px;height:50px;background-color:transparent;border:none;border-radius:50%;z-index:2100;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none;transition:background-color .3s ease}.hamburger-btn:hover{background-color:rgba(0,0,0,0.05)}.hamburger-box{width:24px;height:18px;display:inline-block;position:relative}.hamburger-inner,.hamburger-inner::before,.hamburger-inner::after{width:100%;height:3px;background-color:#fff;position:absolute;left:0;transition:transform .3s ease,top .2s ease,bottom .2s ease;border-radius:2px}.hamburger-inner{top:50%;transform:translateY(-50%)}.hamburger-inner::before,.hamburger-inner::after{content:''}.hamburger-inner::before{top:-8px}.hamburger-inner::after{bottom:-8px}.hamburger-btn.active .hamburger-inner{background-color:transparent}.hamburger-btn.active .hamburger-inner::before{top:0;transform:rotate(45deg)}.hamburger-btn.active .hamburger-inner::after{bottom:0;transform:rotate(-45deg)}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-bg);z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xl);opacity:0;visibility:hidden;transform:translateY(-20px);transition:opacity .4s ease,visibility .4s ease,transform .4s ease}.mobile-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu a{color:var(--color-dark);font-family:var(--font-serif);font-size:clamp(1.8rem,5vw,2.5rem);text-decoration:none;opacity:0;transform:translateY(20px);transition:color .3s ease,opacity .5s ease,transform .5s ease}.mobile-menu.active a{opacity:1;transform:translateY(0)}.mobile-menu.active a:nth-child(1){transition-delay:.1s}.mobile-menu.active a:nth-child(2){transition-delay:.15s}.mobile-menu.active a:nth-child(3){transition-delay:.2s}.mobile-menu.active a:nth-child(4){transition-delay:.25s}.mobile-menu.active a:nth-child(5){transition-delay:.3s}.mobile-menu.active a:nth-child(6){transition-delay:.35s}.mobile-menu.active a:nth-child(7){transition-delay:.4s}.mobile-menu a:hover{color:var(--color-accent-text)}#back-to-top{position:fixed;bottom:var(--space-xl);right:var(--space-xl);left:auto;width:50px;height:50px;background:var(--color-accent-gradient);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease,transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);z-index:1900;box-shadow:var(--shadow-md);contain:layout style}#back-to-top.visible{opacity:1;visibility:visible}#back-to-top:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}#back-to-top svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}.hero{height:100vh;height:100dvh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.hero-parallax-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden;contain:layout paint}.hero-parallax-img{width:100%;height:110%;object-fit:cover;position:absolute;top:-5%;left:0;aspect-ratio:16 / 9;will-change:transform;filter:saturate(1.1) contrast(1.05);image-rendering:-webkit-optimize-contrast}.hero::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.5) 100%);z-index:2}.hero-content{position:relative;z-index:3;opacity:1;max-width:900px;padding:0 var(--space-m)}.hero-content *{pointer-events:auto}.hero-content h1{margin-bottom:var(--space-l);font-size:clamp(3.5rem,8vw,7.5rem);font-weight:700;line-height:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,0.5)}.hero-content p{font-size:1.3rem;letter-spacing:0.5px;color:#eee;font-weight:500;text-shadow:0 1px 5px rgba(0,0,0,0.5)}.scroll-indicator{position:absolute;bottom:var(--space-xl-2);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-s);cursor:pointer;z-index:10;opacity:1;transition:opacity .3s}.scroll-indicator span{font-size:0.75rem;text-transform:uppercase;letter-spacing:2px;color:#fff;font-weight:600}.scroll-indicator svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2}.cta-button,.cta-button-outline{display:inline-block;padding:var(--space-m) var(--space-xl-2);margin-top:var(--space-xl);border:1px solid var(--color-accent);font-size:0.9rem;text-transform:uppercase;letter-spacing:1.5px;transition:all var(--duration-fast) var(--ease-out);font-weight:600}.cta-button{background:var(--color-accent-gradient);color:#fff;border-color:transparent;box-shadow:var(--shadow-sm)}.cta-button-outline{background-color:transparent;color:var(--color-dark);border-color:var(--color-accent-text)}.hero .cta-button{background-color:transparent;color:#fff;border-color:#fff;box-shadow:none}@media(hover:hover){.cta-button:hover,.cta-button-outline:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.hero .cta-button:hover{background-color:#fff;color:var(--color-dark);border-color:#fff;box-shadow:var(--shadow-md)}.cta-button-outline:hover{background:var(--color-accent-gradient);color:#fff;border-color:transparent}}section{padding:var(--space-5xl) 0}.section-background-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}section[id]{scroll-margin-top:var(--space-4xl)}.section-title{text-align:center;margin-bottom:var(--space-3xl);position:relative}.section-title::after{content:'';display:block;width:60px;height:3px;background-color:var(--color-accent-2);margin:var(--space-l) auto 0}.project-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}.project-card{position:relative;overflow:hidden;display:block;height:450px;transition:transform var(--duration-medium) var(--ease-out),box-shadow var(--duration-medium) var(--ease-out)}.project-card picture{display:block;width:100%;height:100%}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(0.25,1,0.5,1);backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}.project-card-overlay{position:absolute;bottom:0;left:0;width:100%;padding:var(--space-xl-2);background:linear-gradient(to top,rgba(0,0,0,0.9),transparent);color:#fff;transform:translateY(30%);opacity:0;transition:all .5s ease}.project-card-overlay h3{font-size:1.8rem;font-family:var(--font-serif);color:#fff;margin-bottom:var(--space-s)}.project-card-overlay p{margin:0;font-size:1rem;color:#ddd}@media(hover:hover){.project-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.project-card:hover img{transform:scale(1.05)}.project-card:hover .project-card-overlay{transform:translateY(0);opacity:1}}.vision-section{position:relative;padding:var(--space-6xl) 0;color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;content-visibility:auto;contain-intrinsic-size:100vh}.vision-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(0,0,0,0.85),rgba(0,0,0,0.75));z-index:1}.vision-content{position:relative;z-index:2;text-align:center;max-width:1000px}.vision-label{display:block;font-family:var(--font-sans);font-size:0.9rem;letter-spacing:3px;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-xl)}.vision-statement{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);line-height:1.3;font-weight:400;margin-bottom:var(--space-3xl);color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.7)}.vision-values{display:flex;justify-content:center;gap:var(--space-2xl);flex-wrap:wrap;border-top:1px solid rgba(255,255,255,0.2);padding-top:var(--space-2xl)}.value-item{text-align:left}.value-num{display:block;font-family:var(--font-sans);font-size:0.8rem;color:var(--color-accent);margin-bottom:var(--space-s)}.value-item h3{font-family:var(--font-serif);font-size:1.8rem;color:#fff;margin:0}.philosophy-section-refined{background-color:var(--color-light);overflow:hidden}.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center;min-height:80vh}.philosophy-content .philosophy-label{display:block;font-family:var(--font-sans);font-size:0.9rem;letter-spacing:3px;text-transform:uppercase;color:var(--color-accent-text);margin-bottom:var(--space-l)}.philosophy-content h2{margin-bottom:var(--space-xl)}.philosophy-content p{font-size:1.1rem;max-width:500px;color:var(--color-dark)}.philosophy-visual{position:relative;width:100%;height:600px}#philosophy-3d-container{position:absolute;top:0;left:0;width:100%;height:100%}.journey-section{background-color:var(--color-bg);padding:var(--space-6xl) 0;position:relative;--timeline-color-inactive:#e0e0e0;--timeline-color-active:var(--color-accent);--timeline-gutter:var(--space-2xl);content-visibility:auto;contain-intrinsic-size:1000px}.journey-intro{max-width:700px;margin:calc(var(--space-xl-3)*-1) auto var(--space-3xl);text-align:center}.journey-intro p{font-size:1.25rem;color:var(--color-gray)}.journey-accordion{max-width:900px;margin:0 auto}.journey-item{position:relative;padding-left:var(--timeline-gutter)}.journey-item:not(:last-child){padding-bottom:var(--space-2xl)}.journey-item-header{margin:0;font-size:inherit;font-weight:inherit}.journey-toggle{background:none;border:none;font:inherit;text-align:left;padding:var(--space-l) 0;cursor:pointer;width:100%;display:flex;align-items:center;gap:var(--space-l);color:var(--color-dark);transition:color .3s ease}.journey-toggle:hover{color:var(--color-accent-text)}.journey-step-number{font-family:var(--font-sans);font-size:1rem;font-weight:600;color:var(--color-gray);flex-shrink:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:2px solid var(--timeline-color-inactive);border-radius:50%;background-color:var(--color-bg);z-index:2;position:relative;transition:background-color var(--duration-medium) ease,border-color var(--duration-medium) ease,color var(--duration-medium) ease}.journey-step-title{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:600;flex-grow:1;line-height:1.2}.journey-toggle-icon{position:relative;width:32px;height:32px;flex-shrink:0;transition:transform var(--duration-medium) var(--ease-in-out)}.journey-toggle-icon::before,.journey-toggle-icon::after{content:'';position:absolute;top:50%;left:50%;width:24px;height:2px;background-color:var(--color-dark);transform:translate(-50%,-50%);transition:transform var(--duration-medium) var(--ease-in-out)}.journey-toggle-icon::after{transform:translate(-50%,-50%) rotate(90deg)}.journey-item.active .journey-toggle-icon{transform:rotate(135deg)}.journey-content-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-medium) var(--ease-in-out);padding-left:calc(50px + var(--space-l))}.journey-content-inner{overflow:hidden;opacity:0;transform:translateY(-10px);transition:opacity calc(var(--duration-medium)*0.8) ease calc(var(--duration-medium)*0.2),transform calc(var(--duration-medium)*0.8) ease calc(var(--duration-medium)*0.2)}.journey-item.active .journey-content-panel{grid-template-rows:1fr}.journey-item.active .journey-content-inner{opacity:1;transform:translateY(0);padding-bottom:var(--space-xl-2)}.journey-content-panel p{font-size:1.1rem;line-height:1.8;max-width:65ch;color:var(--color-gray);margin:0;padding-left:0}.journey-connector{position:absolute;top:50px;left:calc(var(--timeline-gutter) + 25px - 1px);width:2px;height:calc(100% - 25px);background-color:var(--timeline-color-inactive);z-index:1}.journey-item:last-child .journey-connector{display:none}.journey-connector::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--timeline-color-active);transform:scaleY(0);transform-origin:top;transition:transform .8s var(--ease-in-out)}.journey-item.timeline-active .journey-step-number{background-color:var(--timeline-color-active);border-color:var(--timeline-color-active);color:#fff}.journey-item.timeline-active .journey-connector::before{transform:scaleY(1)}.accolades-section-refined{background-color:var(--color-light);padding:var(--space-5xl) 0;content-visibility:auto;contain-intrinsic-size:1000px}.accolades-section-refined .accolades-header{text-align:center;margin-bottom:var(--space-3xl)}.accolades-section-refined .section-label{display:block;font-family:var(--font-sans);font-size:0.85rem;letter-spacing:3px;text-transform:uppercase;color:var(--color-accent-text);margin-bottom:var(--space-m)}.accolades-section-refined .section-title{color:var(--color-dark)}.accolades-section-refined .section-title::after{background-color:var(--color-accent)}.accolade-feature-card{background-color:#fff;padding:var(--space-2xl);text-align:center;margin-bottom:var(--space-2xl);border:1px solid #e0e0e0;box-shadow:0 10px 30px rgba(0,0,0,0.05)}.accolade-feature-card .accolade-icon{margin-bottom:var(--space-xl)}.accolade-feature-card .accolade-logotype{width:220px;height:auto}.accolade-feature-card .accolade-category{display:block;font-family:var(--font-sans);font-size:0.8rem;text-transform:uppercase;letter-spacing:2px;color:var(--color-accent-text);margin-bottom:var(--space-m)}.accolade-feature-card h3{font-size:clamp(1.8rem,4vw,2.5rem);color:var(--color-dark);margin-bottom:var(--space-l)}.accolade-feature-card p{font-size:1.1rem;color:var(--color-dark);max-width:700px;margin:0 auto;line-height:1.8}.accolades-accordion{max-width:900px;margin:0 auto;border-top:1px solid var(--color-accent-2)}.accolade-item{border-bottom:1px solid var(--color-accent-2)}.accolade-item-header{margin:0;font-size:inherit;font-weight:inherit}.accolade-toggle{background:none;border:none;font:inherit;text-align:left;padding:1.8rem 0;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);color:var(--color-dark);transition:color .3s ease}.accolade-toggle:hover{color:var(--color-accent-text)}.accolade-item-title{font-family:var(--font-serif);font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600;flex-grow:1;line-height:1.3}.accolade-toggle-icon{position:relative;width:28px;height:28px;flex-shrink:0;transition:transform var(--duration-medium) var(--ease-in-out)}.accolade-toggle-icon::before,.accolade-toggle-icon::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:2px;background-color:var(--color-dark);transform:translate(-50%,-50%);transition:transform var(--duration-medium) var(--ease-in-out)}.accolade-toggle-icon::after{transform:translate(-50%,-50%) rotate(90deg)}.accolade-item.active .accolade-toggle-icon{transform:rotate(135deg)}.accolade-content-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-medium) var(--ease-in-out);background-color:var(--color-light)}.accolade-content-inner{overflow:hidden;padding:0 var(--space-xl);opacity:0;transform:translateY(-10px);transition:opacity .4s ease .1s,transform .4s ease .1s}.accolade-item.active .accolade-content-panel{grid-template-rows:1fr}.accolade-item.active .accolade-content-inner{opacity:1;transform:translateY(0);padding-top:var(--space-s);padding-bottom:var(--space-xl)}.accolade-content-panel p{font-size:1rem;line-height:1.7;color:var(--color-dark);margin:0}.global-section{position:relative;padding:var(--space-6xl) 0;background-color:var(--color-light);overflow:hidden;text-align:center;content-visibility:auto;contain-intrinsic-size:100vh}.global-intro{position:relative;z-index:2;max-width:800px;margin:0 auto var(--space-xl-3);pointer-events:none}.global-intro *{pointer-events:auto}#global-map-container{position:relative;height:80vh;min-height:600px;width:100%;overflow:hidden}#global-map-container canvas{outline:none}.map-label{position:absolute;font-family:var(--font-sans);font-size:0.85rem;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;color:var(--color-dark);text-shadow:0 0 10px rgba(255,255,255,0.8),0 0 2px #fff;padding:0;pointer-events:none;transform:translate(-50%,-50%);white-space:nowrap;opacity:0;transition:opacity .5s ease}.map-label.visible{opacity:1}.client-marquee-section{background-color:var(--color-dark);padding:var(--space-4xl) 0;overflow:hidden;border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1);transform:skewY(-3deg);position:relative;content-visibility:auto;contain-intrinsic-size:300px}.marquee-track-container{width:100%;overflow:hidden;transform:skewY(3deg);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}.marquee-track-container:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px;border-radius:2px}.marquee-track{display:flex;white-space:nowrap;width:max-content;animation:marqueeScroll 120s linear infinite;animation-play-state:running;list-style:none}.marquee-track-container:focus-within .marquee-track,.marquee-track-container[data-state="paused"] .marquee-track{animation-play-state:paused}.marquee-item{font-family:var(--font-sans);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;color:#fff;text-transform:uppercase;display:flex;align-items:center;letter-spacing:0.03em;opacity:0.9;transition:opacity .3s ease,color .3s ease;margin:0 var(--space-xl-2)}.marquee-item:hover{opacity:1;color:var(--color-accent)}.marquee-item::after{content:'*';color:var(--color-accent);font-size:2rem;font-weight:400;padding-left:calc(var(--space-xl-2)*2)}.marquee-toggle{position:absolute;bottom:var(--space-xl);right:var(--space-xl);z-index:10;width:48px;height:48px;background-color:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:background-color .3s ease,transform .3s ease}.marquee-toggle:hover{background-color:rgba(255,255,255,0.2);transform:scale(1.1)}.marquee-toggle svg{width:24px;height:24px;fill:currentColor}@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@media(prefers-reduced-motion:no-preference){.marquee-track{will-change:transform}}@media(max-width:768px){.marquee-track{animation-duration:200s}}.sustainability-section{position:relative;background-color:#ffffff;color:var(--color-dark);padding:var(--space-5xl) 0;overflow:hidden;min-height:800px;display:flex;align-items:center;content-visibility:auto;contain-intrinsic-size:900px}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;opacity:0.5}.sustainability-section .content-overlay{position:relative;z-index:2;pointer-events:none}.sustainability-section .content-overlay *{pointer-events:auto}.sustainability-content{max-width:800px;background:rgba(255,255,255,0.95);padding:var(--space-xl-3);border:1px solid #eee;margin:var(--space-xl) auto 0;box-shadow:0 20px 40px rgba(0,0,0,0.05)}.sustainability-content>p{font-size:1.25rem;margin-bottom:var(--space-xl-3);color:var(--color-dark);font-weight:500;text-align:center;max-width:75ch;margin-inline:auto}.sust-item{margin-bottom:var(--space-m);border-bottom:1px solid var(--color-accent-2)}.sust-label{width:100%;text-align:left;background:none;border:none;padding:var(--space-m) 0;font-size:1.2rem;font-family:var(--font-serif);font-weight:700;color:var(--color-dark);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:color .3s ease}.sust-label:hover{color:var(--color-accent-text)}.sust-label::after{content:'+';font-size:1.5rem;font-weight:300;color:var(--color-accent-text);transition:transform var(--duration-medium) var(--ease-in-out)}.sust-item.active .sust-label::after{transform:rotate(45deg)}.sust-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-medium) var(--ease-in-out)}.sust-details>div{overflow:hidden}.sust-item.active .sust-details{grid-template-rows:1fr}.sust-details p{font-size:1rem;color:var(--color-gray);margin:0;padding-bottom:var(--space-l)}.faq-section{padding:var(--space-5xl) 0;background-color:var(--color-light);content-visibility:auto;contain-intrinsic-size:800px}.faq-accordion{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid var(--color-accent-2);margin-bottom:0}.faq-item h3{margin:0;font-size:inherit;font-weight:inherit}.faq-question{background:none;border:none;font:inherit;text-align:left;display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl) 0;cursor:pointer;width:100%}.faq-question>span{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:var(--color-dark);transition:color .3s ease}.faq-item:hover .faq-question>span{color:var(--color-accent-text)}.faq-icon{font-size:1.5rem;color:var(--color-accent-text);transition:transform var(--duration-medium) var(--ease-in-out)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-medium) var(--ease-in-out)}.faq-answer>div{overflow:hidden}.faq-answer p{padding-bottom:var(--space-xl);color:var(--color-gray);margin:0;line-height:1.8;font-size:1.05rem}.faq-item.active .faq-answer{grid-template-rows:1fr}.faq-item.active .faq-icon{transform:rotate(45deg)}.main-footer{background-color:#000000;color:#FFFFFF;padding:var(--space-3xl) 0 var(--space-xl);padding-bottom:140px;border-top:1px solid #333}.footer-content{display:grid;grid-template-columns:1fr;gap:var(--space-xl-2);text-align:center;align-items:start}.footer-col.logo-col{display:flex;flex-direction:column;gap:var(--space-l);align-items:center}.footer-logo-img{width:220px;height:auto;display:block;filter:brightness(0) invert(1)}.footer-col.links-col{display:flex;flex-direction:column;gap:0;align-items:center}.footer-col.links-col a{color:#FFFFFF;font-size:1.125rem;text-transform:uppercase;letter-spacing:1px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;transition:all 0.2s ease;padding:1rem 0;display:block;width:100%}.footer-col.links-col a:hover,.footer-col.links-col a:focus{color:#FFD6AD;text-decoration-thickness:2px;background-color:#1a1a1a;outline:2px solid #FFFFFF;outline-offset:2px}.footer-col h4{color:#FFFFFF;font-size:1.25rem;margin-bottom:var(--space-l);text-transform:uppercase;letter-spacing:2px;font-weight:700;border-bottom:2px solid #FFFFFF;display:inline-block;padding-bottom:0.5rem}.footer-col.contact-col{align-items:center}.footer-address{margin-bottom:var(--space-xl)}.footer-address h5{color:#FFFFFF;font-size:1.125rem;margin-bottom:0.5rem;font-weight:700}.footer-address p{margin:0;font-size:1rem;color:#F0F0F0;font-family:var(--font-sans);line-height:1.6}.footer-address a{color:#FFFFFF;text-decoration:underline;text-underline-offset:4px;transition:color 0.2s ease;padding:0.5rem 0;display:inline-block}.footer-address a:hover,.footer-address a:focus{color:#FFD6AD;background-color:#1a1a1a;outline:2px solid #FFFFFF;outline-offset:2px}.footer-col.social-col{display:flex;flex-direction:column;gap:var(--space-l);align-items:center}.social-links{display:flex;flex-direction:column;gap:0}.social-links a{color:#FFFFFF;font-size:1.125rem;text-transform:uppercase;letter-spacing:1px;transition:all 0.3s ease;text-decoration:underline;text-underline-offset:6px;padding:1rem 0;display:block}.social-links a:hover,.social-links a:focus{color:#FFD6AD;background-color:#1a1a1a;outline:2px solid #FFFFFF;outline-offset:2px}.footer-bottom{margin-top:var(--space-2xl);padding-top:var(--space-l);border-top:1px solid #333;text-align:center;width:100%}.footer-legal p{font-size:0.9rem;color:#888;margin:0;line-height:1.6}.fade-in{animation:fadeIn 1.5s ease-in-out forwards}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.velocity-text{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);text-align:center;contain:style}.velocity-text span{display:inline-block;transform:translateY(110%);transition:transform .9s cubic-bezier(0.19,1,0.22,1)}.animate-on-scroll.visible .velocity-text span,.velocity-text.visible span{transform:translateY(0)}.animate-on-scroll.velocity-text{transform:translateY(0);opacity:1}.page-hero{padding:var(--space-7xl) 0 var(--space-5xl);background-image:linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0.7)),url('../images/dantonio-dolce-vita-hotel-resort-estate.webp');background-size:cover;background-position:center;background-attachment:fixed;color:#fff;text-align:center}.page-hero .container{max-width:900px}.page-hero h1{margin-bottom:var(--space-l);color:#fff}.page-hero p{font-size:1.2rem;color:#ddd}.portfolio-gallery{padding:var(--space-5xl) 0;content-visibility:auto;contain-intrinsic-size:2500px}.full-grid .project-card{height:400px}.project-hero{height:70vh;background-size:cover;background-position:center;background-attachment:fixed;position:relative;display:flex;align-items:flex-end;padding:var(--space-2xl) 5%;color:#fff}.project-hero::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(0,0,0,0.8),transparent)}.project-hero-content{position:relative;z-index:2}.project-hero-content h1{font-size:clamp(3rem,6vw,6rem);color:#fff}.project-hero-content p{color:#ddd}.project-hero-content .hero-statement{font-family:var(--font-serif);font-weight:700;line-height:1.1;font-size:clamp(2rem,4vw,3rem);letter-spacing:-0.5px;max-width:1200px;color:#fff;margin-bottom:0}.project-details{padding:var(--space-4xl) 0}.project-intro{max-width:800px;margin:0 auto var(--space-3xl);text-align:center}.project-intro h3{font-size:clamp(2rem,4vw,3rem);letter-spacing:-0.5px}.project-intro p{font-size:1.2rem;color:var(--color-gray)}.project-stats{display:flex;justify-content:space-around;text-align:center;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:var(--space-xl-3) 0}.project-stats h4{font-family:var(--font-sans);font-weight:600;color:var(--color-accent-text);text-transform:uppercase;letter-spacing:1px;font-size:0.85rem;margin-bottom:var(--space-s)}.project-stats p{margin:0;font-family:var(--font-serif);font-size:1.2rem;color:var(--color-dark)}.project-gallery-fullwidth{padding:0;content-visibility:auto;contain-intrinsic-size:1500px}.project-gallery-fullwidth img{display:block;width:100%}.parallax-image-wrapper{overflow:hidden;position:relative;width:100%;height:60vw;max-height:500px;margin-bottom:var(--space-xl)}.parallax-image-wrapper:last-child{margin-bottom:0}.parallax-image-wrapper>picture{position:absolute;top:0;left:0;width:100%;height:100%}@media(prefers-reduced-motion:no-preference){.parallax-image{height:120%;width:100%;object-fit:cover;position:absolute;top:-10%;left:0;will-change:transform}}.project-testimonial{background-color:var(--color-light);text-align:center;padding:var(--space-5xl) 0}.project-testimonial blockquote{font-family:var(--font-serif);font-size:2rem;max-width:900px;margin:0 auto var(--space-xl);color:var(--color-dark);line-height:1.4}.project-testimonial cite{font-style:normal;text-transform:uppercase;letter-spacing:2px;font-size:0.9rem;color:var(--color-accent-text);font-weight:600}.featured-case-study-label{font-size:1rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-s);color:#ddd}.services-accordion{max-width:900px;margin:0 auto var(--space-4xl);border-top:1px solid var(--color-accent-2)}.service-item{border-bottom:1px solid var(--color-accent-2)}.service-item-header{margin:0;font-size:inherit;font-weight:inherit}.service-toggle{background:none;border:none;font:inherit;text-align:left;padding:var(--space-xl-2) 0;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-xl);color:var(--color-dark);transition:color .3s ease}.service-toggle:hover{color:var(--color-accent-text)}.service-title{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:600;flex-grow:1;line-height:1.2}.service-toggle-icon{position:relative;width:32px;height:32px;flex-shrink:0;transition:transform var(--duration-medium) var(--ease-in-out)}.service-toggle-icon::before,.service-toggle-icon::after{content:'';position:absolute;top:50%;left:50%;width:24px;height:2px;background-color:var(--color-dark);transform:translate(-50%,-50%);transition:transform var(--duration-medium) var(--ease-in-out)}.service-toggle-icon::after{transform:translate(-50%,-50%) rotate(90deg)}.service-item.active .service-toggle-icon{transform:rotate(135deg)}.service-content-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-medium) var(--ease-in-out)}.service-content-inner{overflow:hidden;opacity:0;transform:translateY(-10px);transition:opacity calc(var(--duration-medium)*0.8) ease calc(var(--duration-medium)*0.2),transform calc(var(--duration-medium)*0.8) ease calc(var(--duration-medium)*0.2)}.service-item.active .service-content-panel{grid-template-rows:1fr}.service-item.active .service-content-inner{opacity:1;transform:translateY(0);padding-bottom:var(--space-xl-2)}.service-detail-list{list-style:none;padding-left:var(--space-m)}.service-detail-list li{padding:var(--space-s) 0;font-size:1.0rem;color:var(--color-gray);position:relative;border-bottom:none}.service-detail-list li::before{content:'•';color:var(--color-accent-text);position:absolute;left:calc(var(--space-m)*-1);top:var(--space-s);line-height:1}.service-quote{text-align:center;max-width:900px;margin:var(--space-4xl) auto 0;background-color:#212529;padding:var(--space-xl-3)}.service-quote blockquote{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:600;line-height:1.4;color:var(--color-light);font-style:normal;margin:0;padding:0;border:0}.case-studies-section{background-color:var(--color-light);padding:var(--space-5xl) 0;content-visibility:auto;contain-intrinsic-size:1200px}.case-study-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl-2)}.case-study-card{position:relative;border:none;padding:var(--space-xl-3);transition:transform var(--duration-medium) var(--ease-out),box-shadow var(--duration-medium) var(--ease-out);color:#fff;overflow:hidden;box-shadow:var(--shadow-md)}#case-study-1{background-image:url('../images/project-evaluation-due-diligence-planning-anlysis-site-plan.webp')}#case-study-2{background-image:url('../images/site-planning-unit-multi-family-property-rezoning-comp-plan.webp')}#case-study-3{background-image:url('../images/master-plan-cement-plant-workforce-housing.webp')}#case-study-4{background-image:url('../images/dantonio-master-plan-mixed-residential-housing-rendering-design.webp')}.case-study-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);z-index:-1;transition:opacity .4s ease}.case-study-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.case-study-card:hover::before{opacity:0.9}.case-study-header{background:none;border:none;font:inherit;padding:0;text-align:left;width:100%;color:inherit;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.case-study-info .case-study-category{display:block;font-size:0.9rem;color:var(--color-accent);text-transform:uppercase;letter-spacing:2px;margin-bottom:0.8rem;font-weight:700}.case-study-info span{font-size:1.6rem;color:#fff;line-height:1.3;font-family:var(--font-serif);font-weight:700}.case-study-toggle-icon{font-size:1.8rem;color:#fff;transition:transform var(--duration-medium) var(--ease-in-out)}.case-study-card.active .case-study-toggle-icon{transform:rotate(45deg);color:var(--color-accent)}.case-study-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-medium) var(--ease-in-out),margin-top var(--duration-medium) var(--ease-in-out)}.case-study-content>div{overflow:hidden}.case-study-card.active .case-study-content{grid-template-rows:1fr;margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,0.2)}.case-study-content p{color:#eee;margin-bottom:var(--space-l)}.case-study-list li{position:relative;padding-left:var(--space-l);margin-bottom:0.8rem;font-size:1rem;color:#eee}.case-study-list li::before{content:'•';color:var(--color-accent);position:absolute;left:0;top:2px}.about-content{content-visibility:auto;contain-intrinsic-size:1800px}.about-mission{text-align:center;max-width:900px;margin:0 auto var(--space-5xl)}.about-mission p{font-size:1.2rem;color:var(--color-gray)}.director-profile{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-2xl);align-items:center;margin-bottom:var(--space-5xl)}.director-bio h3{font-size:2.5rem;margin-bottom:var(--space-s);color:var(--color-dark)}.director-title{color:var(--color-accent-text);font-weight:600;margin-bottom:var(--space-l);text-transform:uppercase;letter-spacing:1px}.director-image img{display:block;width:100%;height:auto;filter:grayscale(100%);transition:all .5s ease}.director-image:hover img{filter:grayscale(0%);transform:scale(1.02)}.subsection-title{text-align:center;font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:var(--space-2xl)}.team-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl);text-align:center}.team-member img{width:200px;height:200px;object-fit:cover;border-radius:50%;margin-bottom:var(--space-l);filter:grayscale(100%);transition:all .3s ease}.team-member:hover img{filter:grayscale(0%);transform:scale(1.05)}.team-member h3{font-size:1.25rem;margin-bottom:var(--space-xs);color:var(--color-dark)}.team-member p{color:var(--color-accent-text);font-weight:700;font-size:0.9rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:0}.contact-section{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-3xl);content-visibility:auto;contain-intrinsic-size:800px}.form-group{margin-bottom:var(--space-l)}.form-group label{display:block;margin-bottom:var(--space-s);color:var(--color-dark);font-weight:600}.form-group input,.form-group textarea{width:100%;padding:var(--space-m);background:var(--color-light);border:1px solid #e0e0e0;color:var(--color-dark);font-family:var(--font-text);transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease}.form-group input:focus,.form-group textarea:focus{background:#fff;border-color:var(--color-accent)}.error-page{background-color:var(--color-light)}.error-page .main-header{background-color:transparent}.error-page-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;text-align:center;padding:var(--gutter-h)}.error-page-content .error-code{font-size:clamp(6rem,20vw,12rem);line-height:1;font-weight:700;color:#e0e0e0;display:block}.error-page-content .error-title{font-size:clamp(1.8rem,5vw,3rem);margin-top:calc(var(--space-xl)*-1);margin-bottom:var(--space-xl);color:var(--color-dark)}.error-page-content p{max-width:500px;margin-left:auto;margin-right:auto;margin-bottom:var(--space-xl-3);color:var(--color-gray)}.m-xs{margin:var(--space-xs)}.m-s{margin:var(--space-s)}.m-m{margin:var(--space-m)}.m-l{margin:var(--space-l)}.m-xl{margin:var(--space-xl)}.mt-xs{margin-top:var(--space-xs)}.mt-s{margin-top:var(--space-s)}.mt-m{margin-top:var(--space-m)}.mt-l{margin-top:var(--space-l)}.mt-xl{margin-top:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-s{margin-bottom:var(--space-s)}.mb-m{margin-bottom:var(--space-m)}.mb-l{margin-bottom:var(--space-l)}.mb-xl{margin-bottom:var(--space-xl)}.p-xs{padding:var(--space-xs)}.p-s{padding:var(--space-s)}.p-m{padding:var(--space-m)}.p-l{padding:var(--space-l)}.p-xl{padding:var(--space-xl)}.pt-xs{padding-top:var(--space-xs)}.pt-s{padding-top:var(--space-s)}.pt-m{padding-top:var(--space-m)}.pt-l{padding-top:var(--space-l)}.pt-xl{padding-top:var(--space-xl)}.pb-xs{padding-bottom:var(--space-xs)}.pb-s{padding-bottom:var(--space-s)}.pb-m{padding-bottom:var(--space-m)}.pb-l{padding-bottom:var(--space-l)}.pb-xl{padding-bottom:var(--space-xl)}@media(min-width:600px){.project-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.team-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media(min-width:768px){.footer-content{grid-template-columns:repeat(2,1fr);text-align:left}.footer-col.logo-col,.footer-col.links-col,.footer-col.social-col,.footer-col.contact-col{align-items:flex-start}}@media(min-width:1024px){#portfolio .project-grid{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:repeat(4,1fr)}}@media(min-width:1200px){.team-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:1024px){.page-hero,.project-hero,.css-parallax-container,.vision-section{background-attachment:scroll!important;background-position:center center!important;will-change:transform}#philosophy-3d-container,#global-map-container,#canvas-container{display:none!important}.philosophy-visual{background-image:url('../images/dantonio-design-engineering-development-logotype-copper.svg');background-size:contain;background-repeat:no-repeat;background-position:center;display:block!important}.animate-on-scroll{opacity:1;transform:none;transition:none}}@media(max-width:900px){.contact-section{grid-template-columns:1fr}.director-profile{grid-template-columns:1fr;text-align:center}.director-bio p{text-align:center}.director-image{max-width:400px;margin:0 auto var(--space-xl)}.case-study-grid{grid-template-columns:1fr}.philosophy-grid{grid-template-columns:1fr;text-align:center}.philosophy-content{order:2}.philosophy-visual{order:1;height:400px;margin-bottom:var(--space-xl-3)}.philosophy-content p{margin-left:auto;margin-right:auto}}@media(max-width:600px){.project-stats{flex-direction:column;gap:var(--space-xl)}.service-block{padding:var(--space-xl)}.accolade-feature-card{padding:var(--space-xl-3) var(--space-l)}.accolade-toggle{padding:var(--space-l) 0}.accolade-item-title{font-size:1rem}.accolade-content-inner{padding:0 var(--space-m) var(--space-l) var(--space-m)}.journey-section{--timeline-gutter:var(--space-l)}.journey-toggle{padding:var(--space-m) 0;gap:var(--space-m)}.journey-step-number{width:40px;height:40px;font-size:0.9rem}.journey-step-title{font-size:1.2rem}.journey-content-panel{padding-left:0}.journey-connector{top:40px;left:calc(var(--timeline-gutter) + 20px - 1px)}}.brand-guide-page .main-header,.privacy-page .main-header{top:0;background-color:var(--color-bg);box-shadow:0 2px 10px rgba(0,0,0,0.05)}.brand-guide-page .hamburger-inner,.brand-guide-page .hamburger-inner::before,.brand-guide-page .hamburger-inner::after,.privacy-page .hamburger-inner,.privacy-page .hamburger-inner::before,.privacy-page .hamburger-inner::after{background-color:var(--color-dark)}.privacy-page .page-hero{padding:var(--space-3xl) 0 var(--space-5xl) 0;background-image:none;background-color:#fff}.privacy-page .page-hero h1,.privacy-page .page-hero p{color:var(--color-dark)}.privacy-content{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl)}.privacy-content .last-updated{font-size:0.9rem;color:var(--color-gray);font-style:italic}.privacy-content h2{margin-top:var(--space-xl-2);margin-bottom:var(--space-m);font-size:1.8rem;border-bottom:1px solid #eee;padding-bottom:var(--space-s)}.privacy-content p,.privacy-content ul{max-width:800px}.privacy-content ul{list-style-position:inside;padding-left:var(--space-m);margin-bottom:var(--space-m)}.privacy-content li{margin-bottom:var(--space-s)}.privacy-content a{text-decoration:underline;font-weight:600}.privacy-content a:hover{text-decoration:none}.canvas-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:3px solid rgba(184,115,51,0.2);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;z-index:5}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}#philosophy-3d-container>canvas,#canvas-container>canvas,#global-map-container>canvas{opacity:0;transition:opacity var(--duration-medium) var(--ease-out)}#philosophy-3d-container>canvas.visible,#canvas-container>canvas.visible,#global-map-container>canvas.visible{opacity:1}.css-parallax-container{min-height:70vh;background-attachment:fixed;background-position:center;background-repeat:no-repeat;background-size:cover;background-image:var(--bg-image-mobile)}@media(min-width:769px){.css-parallax-container{min-height:100vh;background-image:var(--bg-image-desktop)}}@media(max-width:768px){h1,h2,h3,h4,h5,h6,[role="heading"],[class*="title"]{display:block;width:100%;height:auto!important;min-height:48px;white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;text-overflow:clip!important;overflow:visible!important;font-size:clamp(var(--z-title-min),5vw + 1rem,var(--z-title-max));line-height:var(--z-line-height)}}