@font-face{font-family:"STIX Two Text";src:url("./fonts/stix-two-text.ttf") format("truetype");font-weight:400 700;font-display:swap}
@font-face{font-family:Manrope;src:url("./fonts/manrope.ttf") format("truetype");font-weight:200 800;font-display:swap}
:root{--paper:#fff;--ink:#20231f;--green:#1f624b;--muted:#646960;--serif:"STIX Two Text",serif;--sans:Manrope,sans-serif;--edge:clamp(24px,4vw,80px);--visual-width:min(74vw,calc((100svh - 280px) * 1.6));--rail:calc(100% - var(--visual-width));--gutter:28px;--body-size:clamp(17px,min(1.05vw,2.4svh),20px);--section-gap:24px}
*,*::before,*::after{box-sizing:border-box}
html{margin:0;background:var(--paper);-webkit-text-size-adjust:100%;scrollbar-gutter:stable}
body{margin:0;color:var(--ink);background:var(--paper);font:400 var(--body-size)/1.65 var(--sans);-webkit-font-smoothing:antialiased;min-height:100svh;display:flex;flex-direction:column}
h1,h2,h3,p,figure,ul{margin:0}h1,h2,h3{font-weight:400}ul{list-style:none;padding:0}
a{color:inherit;text-decoration:none;transition:color 160ms ease;touch-action:manipulation}a:hover{color:var(--green)}a:focus-visible{outline:2px solid var(--green);outline-offset:6px}
[hidden]{display:none!important}::selection{color:white;background:var(--green)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:var(--edge);top:12px;z-index:90;transform:translateY(-180%);padding:8px 16px;background:var(--paper)}.skip-link:focus{transform:none}.page-heading:focus{outline:none}
/* Shared image rail; the wordmark is centered in the free left column. */
.site-header{position:relative;display:flex;justify-content:flex-end;align-items:flex-start;gap:32px;height:80px;flex-shrink:0;padding:20px var(--edge) 16px}
.wordmark,.wordmark:hover,.wordmark[aria-current="page"]{color:var(--green)}
.wordmark{position:absolute;left:calc(var(--rail)/2);top:28px;transform:translateX(-50%);display:block;flex-shrink:0;font:400 clamp(30px,2.35vw,40px)/.98 var(--serif);letter-spacing:-.035em}.wordmark span{display:block}
.main-nav{display:flex;align-items:flex-start;justify-content:flex-end;gap:clamp(28px,3.5vw,64px);font-size:clamp(17px,1.35vw,24px);line-height:28px}
.main-nav a{display:inline-block;position:relative;min-height:44px;padding:8px 0;white-space:nowrap}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1.5px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 160ms ease}
.main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav a[aria-current]::after{transform:scaleX(1)}.main-nav a[aria-current]{color:var(--green)}
.language-switch{display:inline-flex;align-items:flex-start;gap:10px;white-space:nowrap;font-size:14px}.language-divider{padding-top:8px;color:var(--muted)}
.language-switch a::after{display:none}.language-switch a[aria-current]{font-weight:600}
/* Reserve room for the introduction before sizing the photograph, on both routes. */
main{flex:1;min-width:0}.page{padding-bottom:24px}
.hero-visual,.detail-visual{margin:0 0 0 var(--rail);overflow:hidden}
.hero-visual{aspect-ratio:1.6}.hero-visual img{display:block;height:100%;width:auto;max-width:none;aspect-ratio:2048/1152}
/* Entire vertical photograph remains visible; only its right-hand 10% is masked. */
.detail-visual{aspect-ratio:1196/115}.detail-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center}
.content-width{margin-left:var(--rail);margin-right:var(--edge);min-width:0}.content-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:var(--gutter)}.col-primary,.col-secondary{min-width:0}
/* Image first, followed by the original title and description. */
.home-intro{margin-top:var(--section-gap);margin-bottom:0;align-items:start}.home-title{font:400 clamp(34px,min(2.6vw,5svh),44px)/1.07 var(--serif);letter-spacing:-.032em;overflow-wrap:break-word}.home-title span{display:block}
.home-copy{padding-top:2px;line-height:1.5;letter-spacing:-.014em;max-width:38em}.page-intro{padding-top:var(--section-gap);margin-bottom:0}.page-summary{line-height:1.55;max-width:58em}
.object-list{margin-top:clamp(48px,5vw,88px)}.object-row+.object-row{margin-top:clamp(40px,4vw,72px)}.row-heading{font:400 clamp(30px,2.5vw,48px)/1.15 var(--serif);letter-spacing:-.024em}.object-addresses{padding-top:3px;line-height:1.72;overflow-wrap:break-word}
.demo-note{margin-top:48px;font-size:14px;line-height:1.6;color:var(--muted);max-width:700px}
/* Contacts follow the same left rail as the images and page content. */
.page-contacts{margin-left:var(--rail);margin-right:var(--edge);padding:0 0 48px}
.contact-card{width:min(100%,640px);text-align:left;font:400 clamp(17px,1.2vw,22px)/1.75 var(--sans);overflow-wrap:anywhere}.contact-card a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}.contact-card a:hover{text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}.phone-link{font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.company-details{margin-top:40px}.company-name{margin-bottom:8px}.company-details address{font:inherit;margin-top:20px}
@media(max-width:1000px){:root{--rail:12%;--edge:32px;--gutter:32px}.site-header{height:auto;min-height:128px;justify-content:space-between;padding:32px var(--edge) 36px}.wordmark{position:static;transform:none}.home-intro{display:block}.home-title{max-width:18em;font-size:clamp(38px,5vw,48px)}.home-title span{display:inline}.home-copy{margin-top:24px;max-width:42em}}
@media(min-width:1001px) and (max-height:650px){:root{--visual-width:min(74vw,max(560px,calc((100svh - 280px) * 1.6)));--body-size:16.5px;--section-gap:16px;--gutter:24px;--edge:32px}.site-header{height:64px;padding-top:12px}.wordmark{top:24px;font-size:30px}.home-title{font-size:32px}.home-copy{line-height:1.4}.page-home{padding-bottom:16px}}
@media(max-width:680px){:root{--edge:24px;--rail:24px;--body-size:17px;--section-gap:28px}.site-header{flex-wrap:wrap;gap:20px;padding:28px var(--edge) 36px}.wordmark{font-size:30px}.main-nav{width:100%;gap:24px;font-size:16px}.language-switch{gap:9px}.home-title{font-size:clamp(34px,8vw,44px)}.detail-visual{height:72px;aspect-ratio:auto}.detail-visual img{object-position:center}.object-row{display:block}.object-addresses{margin-top:12px;padding-top:0}.page-contacts{padding-block:36px}.company-details{margin-top:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header{padding:0 0 32px}.page{padding-bottom:0}.content-width,.hero-visual,.detail-visual{margin-left:0}.object-row{break-inside:avoid}}

/* Align the visible top of the wordmark with the image rail on desktop. */
@media(min-width:1001px){.wordmark{top:calc(100% - .07em)}}
