@font-face{font-family:Manrope;src:url('../fonts/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}@font-face{font-family:Cormorant;src:url('../fonts/cormorant-garamond-roman.woff2') format('woff2');font-weight:300 700;font-display:swap}@font-face{font-family:Cormorant;src:url('../fonts/cormorant-garamond-italic.woff2') format('woff2');font-style:italic;font-weight:300 700;font-display:swap}
:root{--color-primary:#d6ba83;--color-secondary:#20272a;--color-accent:#d6ba83;--color-text:#f3f1eb;--color-text-light:#b6bdba;--color-background:#0b1012;--color-surface:#141b1e;--color-border:#596267;--color-success:#96dbb5;--color-info:#a4d3ef;--color-warning:#ebcd88;--color-error:#ffa7a7;--font-primary:Manrope,Arial,sans-serif;--font-secondary:Cormorant,Georgia,serif;--container-width:132rem;--border-radius:0;--section-spacing:7rem;--space-xs:.8rem;--space-sm:1.6rem;--space-md:2.4rem;--space-lg:4rem;--space-xl:7rem}
*{box-sizing:border-box}html{font-size:62.5%;scroll-behavior:smooth;scroll-padding-top:3rem}body{margin:0;background:var(--color-background);color:var(--color-text);font:400 1.6rem/1.75 var(--font-primary)}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}picture{display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--font-secondary);line-height:1.06;letter-spacing:-.025em}h1{font-size:clamp(4.8rem,7vw,10rem)}h2{font-size:clamp(4rem,5vw,6.5rem)}h3{font-size:2rem;line-height:1.4}p+p{margin-top:1.8rem}em{font-weight:400;color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}.paper :focus-visible{outline-color:#775923}.skip{position:fixed;left:1.5rem;top:-9rem;background:var(--color-primary);color:var(--color-background);padding:1.2rem;z-index:1000}.skip:focus{top:1rem}.container{width:calc(100% - 4rem);max-width:var(--container-width);margin-inline:auto}.section{padding-block:var(--section-spacing)}.lead{font-size:1.7rem;color:var(--color-text-light);max-width:64rem}.muted{color:var(--color-text-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:2rem;padding:1.5rem 2.4rem;min-height:5.6rem;border:1px solid var(--color-primary);font-size:1.5rem;font-weight:600;line-height:1.5;transition:background .2s,color .2s}.btn-primary{background:var(--color-primary);color:var(--color-background)}.btn-primary:hover{background:#ead4ab}.btn-secondary,.btn.ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover,.btn.ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}.text-link{display:inline-flex;align-items:center;gap:2rem;font-size:1.5rem;border-bottom:1px solid var(--color-primary);padding-block:.8rem}.text-link:hover{color:var(--color-primary)}.actions{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;margin-top:3rem}.rule{border:0;border-top:1px solid var(--color-border);margin:0}
.header{height:8rem;border-bottom:1px solid #333d40;display:flex;align-items:center;background:#0b1012;position:relative;z-index:50}.header .container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:flex;align-items:center;gap:1.2rem;flex-shrink:0}.brand img{width:5.2rem;height:auto;object-fit:contain}.brand-text{font-family:var(--font-secondary);font-size:1.7rem;letter-spacing:.035em;line-height:1.2}.brand-text small{font-size:1.4rem;display:block;font-style:italic;color:var(--color-primary);letter-spacing:.1em;margin-top:.4rem}.menu-toggle{display:block;background:none;color:var(--color-text);border:1px solid var(--color-border);padding:1rem 1.2rem;font-size:1.4rem;min-height:4.4rem}.nav{position:fixed;inset:8rem 0 0;background:var(--color-background);padding:2.5rem 2rem;display:none;flex-direction:column;align-items:stretch;gap:1rem;overflow:auto}.nav.open{display:flex}.nav>a:not(.btn){font-size:1.8rem;border-bottom:1px solid var(--color-border);padding:1.4rem 0}.nav a:hover,.nav a[aria-current=page]{color:var(--color-primary)}.nav .btn{margin-top:1rem}.nav .btn:hover{color:#0b1012}
.hero{height:calc(100svh - 8rem);min-height:64rem;max-height:84rem;position:relative;isolation:isolate;overflow:hidden}.hero>picture{position:absolute;inset:0;z-index:-3}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:65% center}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,9,11,.70),rgba(5,9,11,.43)),linear-gradient(0deg,rgba(5,9,11,.58),transparent 50%)}.hero>.container:not(.hero-bottom){height:100%;display:flex;flex-direction:column;justify-content:center;padding-block:4rem 9rem}.hero h1{font-size:clamp(5.5rem,8vw,10.2rem);max-width:83rem}.hero .lead{margin-top:2.5rem;max-width:53rem;color:#ecece8}.hero-bottom{position:absolute;bottom:2.5rem;left:0;right:0;display:flex;justify-content:space-between;gap:2rem;font-size:1.4rem;color:#e6e5df}.hero-bottom a{display:none}.intro-row,.detail-grid,.service-grid,.split,.gallery-grid,.solar-band,.service-hero,.benefits,.contact-layout,.decision-panel,.journal-feature,.article-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem}.intro-mark{font-family:var(--font-secondary);font-size:3.6rem;font-style:italic;color:var(--color-primary);margin-top:2.5rem}.section-head{display:flex;flex-direction:column;align-items:start;gap:2.5rem;margin-bottom:3.5rem}.service-grid{gap:4rem}.service-card .image-wrap{height:37rem;overflow:hidden;background:var(--color-surface)}.image-wrap picture{height:100%}.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.service-card:hover img{transform:scale(1.03)}.service-card .card-copy{padding:2.3rem 0;border-bottom:1px solid var(--color-border)}.service-card h3{font-family:var(--font-secondary);font-size:4rem;margin-bottom:1rem}.service-card p{color:var(--color-text-light);margin-bottom:1.8rem}.paper{background:#f2eee5;color:#20272a}.paper .lead,.paper .muted,.paper .benefit p{color:#555e61}.paper em{color:#775923}.paper .text-link:hover{color:#775923}.paper .btn-primary{background:#20272a;color:#f2eee5;border-color:#20272a}.paper .btn-primary:hover{background:#39464a}.split{gap:0}.split>picture{height:100%}.split-image{width:100%;height:40rem;object-fit:cover}.split-copy{display:flex;flex-direction:column;justify-content:center;padding:6rem 2.5rem}.split-copy p{margin-top:2.8rem}.split-copy .text-link{align-self:start;margin-top:2.5rem}.gallery-item{position:relative;display:block;padding:0;border:0;background:var(--color-surface);color:var(--color-text);width:100%;text-align:left;overflow:hidden}.gallery-item img{width:100%;height:38rem;object-fit:cover;transition:transform .6s}.gallery-item:hover img{transform:scale(1.02)}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:1.8rem 2rem;background:#0b1012ed;display:flex;gap:1rem;justify-content:space-between;align-items:center;font-size:1.5rem}.gallery-caption span:last-child{border:1px solid #a8aeb0;border-radius:50%;width:3.8rem;height:3.8rem;text-align:center;line-height:3.5rem;font-size:2rem;flex-shrink:0}.solar-band{padding:4rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.solar-band h2{font-size:4.5rem}.cta{padding-block:7rem;text-align:center;background:var(--color-surface)}.cta h2{max-width:83rem;margin:0 auto 2.5rem}.cta p{margin:auto}.cta .actions{justify-content:center}.footer{padding:5rem 0 9rem}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem 2rem;margin-bottom:4rem}.footer-top>div:first-child{grid-column:1/-1}.footer .brand{margin-bottom:2.4rem}.footer p{font-size:1.5rem;color:var(--color-text-light);max-width:32rem}.footer h3{font-size:1.5rem;color:var(--color-primary);margin-bottom:2rem}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin-bottom:1rem;font-size:1.5rem}.footer li a:hover{color:var(--color-primary)}.footer-bottom{padding-top:2.2rem;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;font-size:1.4rem;color:var(--color-text-light)}.footer-bottom div{display:flex;gap:1.5rem;flex-wrap:wrap}.site-credit{margin-top:2rem}.page-top{padding:4rem 0 6rem}.breadcrumbs{font-size:1.4rem;color:var(--color-text-light);margin-bottom:3.5rem}.breadcrumbs ol{list-style:none;display:flex;gap:1rem;flex-wrap:wrap;margin:0;padding:0}.breadcrumbs li+li:before{content:'/';margin-right:1rem}.page-top h1{max-width:105rem}.page-top .lead{margin-top:3rem;max-width:74rem}.service-hero{padding-block:4rem 6rem}.service-hero h1{font-size:clamp(4.8rem,6vw,8.8rem)}.service-hero .lead{margin-top:2.5rem}.service-hero img{width:100%;height:40rem;object-fit:cover}.benefits{margin-top:4rem}.benefit{border-top:1px solid #697176;padding-top:2.4rem}.benefit h3{margin-bottom:1.2rem}.process{display:grid;grid-template-columns:1fr;gap:3rem;margin-top:4rem}.process b{font-family:var(--font-secondary);font-size:3rem;color:var(--color-primary);font-weight:400}.process h3{margin:1rem 0}.process p{color:var(--color-text-light)}.faq{max-width:95rem;margin-inline:auto}.faq h2{margin-bottom:3rem}.faq details{border-bottom:1px solid var(--color-border);padding:2rem 0}.faq summary{cursor:pointer;font-size:1.7rem;min-height:4.4rem}.faq details p{padding:1.5rem 0;color:var(--color-text-light)}.related{margin-top:4rem;display:flex;gap:2rem;flex-wrap:wrap}.expertise-list{display:grid;gap:0;margin-top:4rem}.expertise-list>a,.expertise-list>div{padding:2.5rem 0;border-bottom:1px solid var(--color-border)}.expertise-list h3{font-family:var(--font-secondary);font-size:3.4rem}.expertise-list p{color:var(--color-text-light);margin-top:1rem}.contact-block{margin-bottom:3rem}.contact-block h2{font-size:3.2rem;margin-bottom:1.5rem}.contact-block a{font-size:2.4rem;overflow-wrap:anywhere}.contact-form{padding:3rem 2rem;background:#f2eee5;color:#20272a}.contact-form h2{font-size:4rem}.contact-form>p{margin:1.5rem 0 2.5rem}.form-grid{display:grid;gap:1rem}.field{margin-bottom:2rem}.field label{display:block;margin-bottom:.7rem;font-size:1.5rem}.field input,.field select,.field textarea{width:100%;min-height:4.8rem;background:#fff;border:1px solid #717a7d;border-radius:0;color:#20272a;padding:1.2rem}.field textarea{min-height:14rem;resize:vertical}.contact-form :focus-visible{outline-color:#775923}.form-note{font-size:1.4rem;margin-block:2rem}.form-result{margin-top:2rem;overflow-wrap:anywhere}.filters{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}.filters button{padding:1rem 1.8rem;min-height:4.4rem;background:transparent;color:var(--color-text);border:1px solid var(--color-border);font-size:1.4rem}.filters button[aria-pressed=true],.filters button.active{background:var(--color-primary);color:#0b1012;border-color:var(--color-primary)}.portfolio-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}.portfolio-grid .gallery-item img{height:38rem}.lightbox{background:#0b1012;color:#fff;border:1px solid var(--color-border);padding:2rem;max-width:95vw;max-height:95svh}.lightbox::backdrop{background:#000d}.lightbox img{max-height:75svh;width:auto;margin:auto;object-fit:contain}.lightbox-close{display:block;margin:0 0 1.5rem auto;background:none;color:#fff;border:1px solid var(--color-border);padding:1rem 1.5rem}.lightbox-caption{padding-top:1rem}.solar-hero{padding:4rem 0 7rem;background:#f2eee5;color:#20272a}.solar-hero em{color:#775923}.solar-hero p{color:#555e61;margin-top:3rem;max-width:65rem}.solar-hero .breadcrumbs{color:#555e61}.solar-statement{border-top:1px solid #717a7d;margin-top:4rem;display:flex;flex-direction:column;gap:1.5rem;padding-top:2.5rem;font-size:1.4rem}.legal{max-width:86rem}.legal h2{font-size:3.4rem;margin:4rem 0 2rem}.legal p{color:var(--color-text-light)}.legal a{text-decoration:underline}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;background:#0b1012;border-top:1px solid var(--color-border);padding:1rem 2rem;z-index:40;gap:1.5rem}.mobile-contact>span{font-size:1.4rem;color:var(--color-primary)}.mobile-contact a{font-size:1.4rem;background:var(--color-primary);color:#0b1012;padding:1rem 1.7rem;font-weight:600}.menu-open .mobile-contact{display:none}.notfound{padding-block:10rem}.notfound p{margin-block:2.5rem}.sitemap-links{columns:1}.gallery-item[hidden],.form-result[hidden],[hidden]{display:none}
.article-header{padding-block:4rem 5rem;max-width:110rem}.article-header h1{font-size:clamp(4.5rem,6vw,8rem);max-width:105rem}.article-header .lead{max-width:82rem;margin-top:3rem;font-size:1.8rem}.article-meta{color:var(--color-text-light);font-size:1.4rem;margin-block:2rem}.article-cover{margin-bottom:5rem}.article-cover img{width:100%;height:32rem;object-fit:cover}.article-cover figcaption{font-size:1.4rem;color:var(--color-text-light);padding-top:1.2rem}.article-layout{padding-block:5rem 7rem}.article-toc{align-self:start;border-top:1px solid #717a7d;border-bottom:1px solid #717a7d;padding:2rem 0;font-size:1.5rem}.article-toc ol{padding-left:2rem;margin-bottom:0}.article-toc li{padding:.6rem 0}.article-toc a:hover,.article-body a:hover{color:#775923}.article-body{font-size:1.7rem;max-width:76rem;min-width:0}.article-section{margin-bottom:5rem}.article-section h2,.article-sources h2,.article-related h2,.project-note h2{font-size:clamp(3.2rem,3.5vw,4.5rem);margin-bottom:2rem}.article-body h3{margin-block:2rem 1rem}.article-body ul,.article-body ol{padding-left:2rem}.article-body li{margin-bottom:1rem}.article-body a{text-decoration:underline;text-underline-offset:.3rem}.article-body .btn{text-decoration:none}.article-body table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%;font-size:1.5rem}.article-body td,.article-body th{padding:1rem;border:1px solid #717a7d;text-align:left}.article-sources{border-top:1px solid #717a7d;padding-top:3rem;margin-top:5rem;font-size:1.5rem;overflow-wrap:anywhere}.article-related{margin-top:4rem}.project-note{padding:3rem;border-left:2px solid #775923;background:#e8e1d3;margin-top:4rem}.project-note .btn{margin-top:2rem}.journal-feature{padding-block:0 5rem;align-items:center}.journal-feature img{width:100%;height:35rem;object-fit:cover}.journal-feature h2{font-size:clamp(3.8rem,4vw,5.6rem)}.journal-feature p{margin-bottom:2rem}.journal-index>h2{margin-bottom:4rem}.journal-entry{display:grid;gap:2.5rem;border-top:1px solid var(--color-border);padding-block:3rem}.journal-thumb img{width:100%;height:25rem;object-fit:cover}.journal-entry h3{font-family:var(--font-secondary);font-size:3.6rem;margin-bottom:1.5rem}.journal-entry .article-meta{margin-top:0}.journal-entry p{color:var(--color-text-light)}.journal-entry .text-link{margin-top:1.5rem}.journal-home .lead{margin-block:2.5rem}.decision-panel p{margin-top:2.5rem;max-width:72rem}.decision-panel aside{border-left:1px solid var(--color-border);padding-left:2.5rem}.decision-panel li{margin-bottom:1.5rem}.decision-panel a{text-decoration:underline;text-underline-offset:.4rem}.decision-note{color:var(--color-primary)}
@media(min-width:576px){.container{width:calc(100% - 6.4rem)}.process,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-grid .gallery-item img{height:32rem}.journal-entry{grid-template-columns:1fr 1.5fr}.journal-thumb img{height:100%;min-height:25rem}.article-cover img{height:43rem}.hero-bottom a{display:block}.form-grid{grid-template-columns:1fr 1fr}.sitemap-links{columns:2}}
@media(min-width:768px){:root{--section-spacing:9rem}.intro-row,.split,.gallery-grid,.service-hero,.journal-feature{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.service-card .image-wrap{height:32rem}.service-card h3{font-size:3.2rem}.section-head{flex-direction:row;justify-content:space-between;align-items:end}.split-image{height:100%;min-height:60rem}.split-copy{padding:5rem 4rem}.benefits{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-top{grid-template-columns:1.4fr 1fr 1fr;gap:4rem}.footer-top>div:first-child{grid-column:auto}.service-hero img{height:55rem}.mobile-contact{display:none}.footer{padding-bottom:3rem}.expertise-list{grid-template-columns:1fr 1fr;column-gap:4rem}.solar-band{grid-template-columns:1fr 1.6fr;gap:5rem}.solar-statement{flex-direction:row;justify-content:space-between}.article-cover img{height:50rem}.journal-entry{grid-template-columns:30rem 1fr;gap:4rem}}
@media(min-width:1024px){.header{height:10.5rem}.menu-toggle{display:none}.nav,.nav.open{display:flex;position:static;padding:0;flex-direction:row;align-items:center;gap:2rem;overflow:visible}.nav>a:not(.btn){font-size:1.4rem;padding:1rem 0;border:0}.nav .btn{margin:0;padding:1rem 1.5rem;min-height:4.4rem;font-size:1.4rem}.hero{height:min(79rem,calc(100svh - 10.5rem));min-height:66rem}.hero:after{background:linear-gradient(90deg,rgba(5,9,11,.74),rgba(5,9,11,.48) 48%,rgba(5,9,11,.06)),linear-gradient(0deg,rgba(5,9,11,.58),transparent 50%)}.hero-photo{object-position:center 54%}.intro-row,.detail-grid{grid-template-columns:1fr 1fr;gap:8rem}.service-hero{gap:6rem}.contact-layout{grid-template-columns:.8fr 1.2fr;gap:7rem}.contact-form{padding:4rem}.process{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-layout{grid-template-columns:25rem minmax(0,1fr);gap:7rem;padding-block:7rem 10rem;max-width:115rem}.article-toc{position:sticky;top:3rem}.article-header{padding-block:6rem}.decision-panel{grid-template-columns:1.4fr 1fr;gap:7rem}}
@media(min-width:1280px){:root{--section-spacing:11rem}.container{width:calc(100% - 11.2rem)}.nav{gap:2.6rem}.brand img{width:6.6rem}.brand-text{font-size:1.9rem}.service-card .image-wrap{height:39rem}.service-card h3{font-size:3.8rem}.split-copy{padding:8rem}.gallery-item img{height:48rem}.article-cover img{height:58rem}.journal-feature{gap:7rem}.journal-feature img{height:48rem}}
@media(min-width:1600px){.hero h1{font-size:10.6rem}.hero{max-height:88rem}.article-header h1{font-size:8.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.service-card img,.gallery-item img{transition:none}}
.nav .btn[aria-current=page]{color:#0b1012;box-shadow:inset 0 0 0 2px #0b1012}.nav>a[aria-current=page]:not(.btn){text-decoration:underline;text-underline-offset:.6rem}.journal-entry h3 a:hover,.journal-feature h2 a:hover{color:var(--color-primary)}.journal-entry h3 a:focus-visible,.journal-feature h2 a:focus-visible{outline:2px solid var(--color-primary);outline-offset:5px}.field input:invalid:not(:placeholder-shown),.field textarea:invalid:not(:placeholder-shown){border-color:#8b3030}.btn:disabled{opacity:.65;cursor:not-allowed}
.expertise-list h2{font-size:3.6rem;margin-top:2rem}.expertise-list picture img{height:26rem;width:100%;object-fit:cover}.expertise-list>a:hover h2{color:var(--color-primary)}
.nav-expertises{width:100%}.expertises-trigger{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border)}.expertises-trigger>a{font-size:1.8rem;padding:1.4rem 0;flex:1}.expertises-toggle{width:4.4rem;height:4.4rem;padding:0;display:grid;place-items:center;background:none;border:1px solid var(--color-border);color:var(--color-primary)}.expertises-toggle svg{transition:transform .2s}.is-open .expertises-toggle svg{transform:rotate(180deg)}.expertises-trigger>a:hover,.mega-panel a:hover{color:var(--color-primary)}.mega-panel{background:#11191c;color:#f3f1eb;border-bottom:1px solid #71654f}.mega-inner{padding:2.5rem 1.6rem}.mega-heading p{font:400 3rem/1.1 var(--font-secondary)}.mega-heading em{display:block}.mega-overview{display:inline-flex;gap:1rem;padding-block:1.5rem;color:var(--color-primary);font-size:1.4rem}.mega-layout{display:grid;gap:3rem}.mega-primary{display:grid;gap:1.6rem}.mega-card{display:grid;grid-template-columns:8rem 1fr;column-gap:1.5rem;align-content:center;border-bottom:1px solid #414c50;padding-bottom:1.6rem}.mega-card picture{grid-row:1/3;overflow:hidden}.mega-card img{width:8rem;height:8rem;object-fit:cover;transition:transform .3s}.mega-card:hover img{transform:scale(1.04)}.mega-card-title{font:400 2.5rem/1.12 var(--font-secondary);align-self:end}.mega-card-copy{display:block;font-size:1.4rem;color:#b6bdba;padding-top:.7rem}.mega-other>p{font-size:1.5rem;color:var(--color-primary);margin-bottom:1rem}.mega-other ul{padding:0;margin:0;list-style:none}.mega-other a{font-size:1.5rem;display:flex;align-items:center;min-height:4.4rem;padding:.8rem 0;border-bottom:1px solid #414c50;line-height:1.4}.mega-bottom{border-top:1px solid #71654f;margin-top:2.5rem;padding-top:1.8rem;display:grid;gap:1.5rem;font-size:1.4rem;color:#b6bdba}.mega-bottom>a{line-height:1.6}.mega-card:focus-visible,.mega-overview:focus-visible,.mega-other a:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.expertises-trigger>a[aria-current=page]{color:var(--color-primary);text-decoration:underline;text-underline-offset:.6rem}
@media(min-width:1024px){.nav-expertises{width:auto;align-self:stretch;display:flex;align-items:center}.expertises-trigger{border:0;gap:.3rem}.expertises-trigger>a{font-size:1.4rem;padding:1.6rem 0}.expertises-toggle{width:3rem;height:4.4rem;border:0}.mega-panel{position:absolute;top:100%;left:0;right:0;max-height:calc(100svh - 10.5rem);overflow-y:auto;box-shadow:0 3rem 5rem #0007;border-top:1px solid #71654f}.mega-inner{width:calc(100% - 6.4rem);max-width:132rem;margin:auto;padding:3rem 0 2rem}.mega-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:2.5rem}.mega-heading p{font-size:3.8rem}.mega-heading em{display:inline}.mega-layout{grid-template-columns:minmax(0,2.5fr) minmax(25rem,1fr);gap:3.5rem}.mega-primary{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.mega-card{display:block;border-bottom:0;padding:0}.mega-card picture{margin-bottom:1.6rem}.mega-card img{width:100%;height:15rem}.mega-card-title{font-size:3rem;display:block}.mega-card-copy{padding-top:1rem}.mega-other{border-left:1px solid #71654f;padding-left:3rem}.mega-other a{min-height:3.9rem;font-size:1.4rem}.mega-bottom{display:flex;justify-content:space-between;align-items:center}.mega-bottom>a{font-size:1.4rem}.mega-overview:hover{text-decoration:underline;text-underline-offset:.5rem}}
@media(min-width:1280px){.mega-inner{width:calc(100% - 11.2rem)}.mega-card img{height:18rem}.mega-layout{gap:4rem}.mega-card-title{font-size:3.2rem}}
@media(prefers-reduced-motion:reduce){.expertises-toggle svg,.mega-card img{transition:none}}
@media(min-width:1024px){.expertises-trigger{position:relative}.expertises-trigger:after{content:'';position:absolute;left:0;right:0;top:100%;height:3rem}.mega-card{align-content:start}.mega-card-title{min-height:2.24em}}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero-video-toggle{position:absolute;top:2rem;right:2rem;z-index:2;background:#0b1012e8;color:#f3f1eb;border:1px solid #d6ba83;padding:1rem 1.5rem;min-height:4.4rem;font-size:1.4rem}.hero-video-toggle:hover{background:#d6ba83;color:#0b1012}.hero-video-toggle:focus-visible{outline:2px solid #d6ba83;outline-offset:4px}@media(min-width:768px){.hero-video-toggle{right:3.2rem}}@media(min-width:1280px){.hero-video-toggle{right:max(5.6rem,calc((100vw - 132rem)/2))}}

/* Prime Shield identity */
.brand img{border-radius:50%;aspect-ratio:1;object-fit:contain}
.brand-text small{font-size:1.2rem;letter-spacing:.10em;color:#d6d5d0;white-space:nowrap}

/* Prime Shield: brushed-metal controls and a single reflected light pass. */
.btn,.paper .btn-primary,.header .nav .btn,.mobile-contact a{
  position:relative;isolation:isolate;border:1px solid #87918f;border-radius:2px;
  background:linear-gradient(155deg,#303a3d 0%,#182125 42%,#101719 100%);
  color:#e0e4e1;box-shadow:inset 0 1px 0 #ffffff20,0 4px 16px #0002;
  letter-spacing:.025em;transition:border-color .25s,box-shadow .25s,background-color .25s;
}
.btn{padding:1.6rem 2.5rem;gap:2.2rem}
.btn:before{content:'';position:absolute;inset:3px;border:1px solid #c8c6c014;border-radius:1px;pointer-events:none}
.btn>span[aria-hidden=true]{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;min-height:2.4rem;border-left:1px solid #87918f80;padding-left:1.4rem;font-size:1.8rem}
.btn:hover,.paper .btn-primary:hover,.header .nav .btn:hover,.mobile-contact a:hover,
.btn:focus-visible,.paper .btn-primary:focus-visible{
  background:linear-gradient(155deg,#3c484b,#1a2529 52%,#121b1e);color:#f3f5f1;
  border-color:#c8ceca;box-shadow:inset 0 1px 0 #ffffff38,0 4px 22px #ceded511;
}
.btn:active,.mobile-contact a:active{box-shadow:inset 0 2px 7px #0006}
.btn-secondary,.btn.ghost{background:transparent;box-shadow:none}
.text-link{border-bottom-color:#87918f;transition:border-color .25s,color .25s}
.text-link:hover{color:#e0e4e1;border-bottom-color:#d8ddd8}
.paper .text-link:hover{color:#20272a;border-bottom-color:#20272a}
.menu-toggle,.hero-video-toggle,.lightbox-close,.filters button{border-color:#87918f;border-radius:2px;transition:border-color .25s,background-color .25s}
.hero-video-toggle:hover,.menu-toggle:hover,.lightbox-close:hover{background:#202b2e;color:#f3f1eb;border-color:#c8ceca}
.nav a:hover,.nav a[aria-current=page]{color:#e0e4e1}
.nav a[aria-current=page]:not(.btn){text-decoration:underline;text-underline-offset:.6rem;text-decoration-color:#aab7b1}
.reflect-target{--reflection-peak:#fff}
.paper .reflect-target,.contact-form .reflect-target,.solar-hero .reflect-target{--reflection-peak:#536267}
.paper .btn,.contact-form .btn{--reflection-peak:#fff}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .link-reflection{background-image:linear-gradient(112deg,currentColor 0%,currentColor 42%,var(--reflection-peak,#fff) 49%,var(--reflection-peak,#fff) 51%,currentColor 58%,currentColor 100%);background-size:260% 100%;background-position:150% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;box-decoration-break:clone;-webkit-box-decoration-break:clone}
  .reflect-target:focus-visible .link-reflection{animation:prime-reflection 1.15s cubic-bezier(.22,.61,.36,1) 1}
  @media(hover:hover) and (pointer:fine){.reflect-target:hover .link-reflection{animation:prime-reflection 1.15s cubic-bezier(.22,.61,.36,1) 1}}
}
@keyframes prime-reflection{from{background-position:150% 0}to{background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){.reflect-target .link-reflection,.reflect-target:hover .link-reflection,.reflect-target:focus-visible .link-reflection{animation:none;background-image:none;-webkit-text-fill-color:currentColor}.btn,.text-link,.menu-toggle,.hero-video-toggle,.filters button,.mobile-contact a{transition:none}}

.filters button[aria-pressed=true],.filters button.active{background:#34413e;color:#f3f1eb;border-color:#aebcb5}

/* Contain the media before laying out the service copy. */
.service-card{display:flex;flex-direction:column;min-width:0}
.service-card .image-wrap{display:block;flex:none;position:relative;background:transparent}
.service-card .image-wrap picture{height:100%}
.service-card .card-copy{display:flex;flex-direction:column;flex:1;min-width:0}
.service-card .card-copy .text-link{align-self:flex-start;margin-top:auto}
.service-card .card-copy p{flex:1}
#expertises{padding-bottom:var(--section-spacing)}
@media(min-width:768px){.service-card h3{min-height:2.8em}}
/* A tailored silver edge, with opposing chamfered corners. */
.photo-frame{--photo-cut:clamp(14px,2vw,26px);position:relative;isolation:isolate;overflow:hidden;padding:1px;background:linear-gradient(135deg,#dde2dc 0%,#6a7778 23%,#273337 50%,#aab7b3 78%,#e5e6dc 100%);clip-path:polygon(0 var(--photo-cut),var(--photo-cut) 0,100% 0,100% calc(100% - var(--photo-cut)),calc(100% - var(--photo-cut)) 100%,0 100%)}
.photo-frame>img{clip-path:inherit;max-width:100%;display:block}
.photo-frame:after{content:'';position:absolute;inset:1px;clip-path:inherit;box-shadow:inset 0 0 24px #0002;pointer-events:none;z-index:2}
.image-wrap,.gallery-item{background:transparent}
.gallery-item{overflow:visible}
.gallery-item:focus-visible{outline-offset:6px}
.mega-card .photo-frame{--photo-cut:12px}
.journal-thumb .photo-frame,.journal-image .photo-frame{height:100%}
.lightbox img{border:1px solid #8b9994;border-radius:3px}
@media(hover:hover) and (pointer:fine){a:hover>.photo-frame,button:hover>.photo-frame{background:linear-gradient(135deg,#fff,#aab7b3 30%,#425257 58%,#e2e6df)}}

/* Client photographs: keep the vehicle in the crop of portrait workshop shots. */
.gallery-item img[src*="porsche-rincage-20260919"],
.gallery-item img[src*="porsche-preparation-20260919"],
.gallery-item img[src*="ferrari-avant-20260919"]{object-position:center 78%}

/* The language selector remains visible outside the mobile menu. */
.header{height:auto;display:block}.header>.container{height:105px}
.language-bar{border-bottom:1px solid #ffffff14;background:#080c0e}
.language-bar>.container{min-height:34px;display:flex;justify-content:flex-end;align-items:center}
.language-switcher{display:flex;gap:3px;align-items:center;font-family:var(--sans, sans-serif);font-size:11px;letter-spacing:.1em}
.language-switcher svg{margin-right:8px;color:#aab6bb}
.language-switcher a{display:grid;place-items:center;min-width:38px;min-height:30px;color:#aab6bb;border:1px solid transparent;border-radius:3px;transition:background .2s,color .2s}
.language-switcher a[aria-current]{background:linear-gradient(135deg,#e5e9e9,#abb7ba);color:#111b20;border-color:#e8efef;box-shadow:inset 0 1px #fff9}
.language-switcher a:hover,.language-switcher a:focus-visible{color:#fff;border-color:#84969e;outline-offset:3px}
.language-switcher a[aria-current]:hover{color:#111b20}
.whatsapp-cta{position:fixed;right:24px;bottom:24px;z-index:35;display:flex;align-items:center;gap:10px;padding:13px 19px;background:#112a24;color:#eaf8f1;border:1px solid #719d86;border-radius:4px 18px 4px 18px;box-shadow:0 8px 30px #0005;font-size:13px;font-weight:600;transition:background .2s,transform .2s}
.whatsapp-cta svg{width:23px;height:23px}.whatsapp-cta:hover{background:#1d4437;transform:translateY(-2px)}.whatsapp-cta:focus-visible{outline:2px solid #aee3c2;outline-offset:5px}
.whatsapp-contact{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:inherit}
body.menu-open .whatsapp-cta{visibility:hidden}
@media(max-width:1023px){.header>.container{height:80px}.nav{top:115px}.whatsapp-cta{bottom:82px;right:16px;padding:11px 14px}.language-bar>.container{min-height:35px}.language-switcher a{min-height:32px;min-width:42px}}
@media(prefers-reduced-motion:reduce){.whatsapp-cta,.language-switcher a{transition:none}.whatsapp-cta:hover{transform:none}}
