:root{--ink:#173d3d;--muted:#4d6260;--paper:#fafbf8;--sage:#c2d0b6;--pale:#e9eee4;--line:#cbd3c7;--dark:#123535;--white:#fff;--radius:4px;--max:1280px;color-scheme:light;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-size:1rem;line-height:1.65}a{color:inherit;text-underline-offset:.25em}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9c4d12;outline-offset:5px}a:hover{text-decoration-thickness:2px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:clamp(3.5rem,6.3vw,6.4rem);font-weight:500;letter-spacing:-.065em;line-height:1.04}h2{font-size:clamp(2.15rem,4vw,3.8rem);font-weight:500;line-height:1.12;letter-spacing:-.05em}h3{font-size:1.5rem;letter-spacing:-.03em;line-height:1.25;font-weight:500}p{max-width:62ch}.wrap{width:calc(100% - 112px);max-width:var(--max);margin:auto}.skip{position:fixed;left:16px;top:12px;padding:12px 20px;background:var(--dark);color:white;z-index:50;transform:translateY(-170%)}.skip:focus{transform:translateY(0)}.header{background:rgba(250,251,248,.98);border-bottom:1px solid var(--line);position:relative;z-index:10}.header-row{display:flex;align-items:center;gap:32px;min-height:100px}.brand{display:flex;align-items:center;width:200px;height:75px;overflow:hidden;flex-shrink:0}.brand img{width:252px;max-width:none;transform:translateX(-27px);mix-blend-mode:multiply}.nav{display:flex;align-items:center;gap:30px;margin-left:auto}.nav a{text-decoration:none;font-size:.9375rem}.nav a:hover{text-decoration:underline}.lang{display:flex;align-items:center;gap:2px;border-left:1px solid var(--line);padding-left:23px}.lang a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-decoration:none;font-size:.875rem}.lang a[aria-current=page]{background:var(--pale);border-radius:50%;font-weight:650}.nav-cta{display:flex;align-items:center;gap:22px;padding:13px 19px;border:1px solid var(--ink);border-radius:var(--radius)}.menu-toggle{display:none}.eyebrow{display:flex;align-items:center;gap:14px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:650;line-height:1.5}.eyebrow:before{content:"";width:25px;height:1px;background:currentColor;flex-shrink:0}.hero{display:grid;grid-template-columns:1.16fr .84fr;gap:70px;padding-top:70px;padding-bottom:72px;align-items:center}.hero h1{margin:31px 0 25px;max-width:9.5em}.hero h1 em{font-style:normal;color:#51734d}.hero-intro{font-size:1.125rem;line-height:1.7;max-width:38ch;color:var(--muted)}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:16px 23px;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;border-radius:var(--radius);font-size:.9375rem;min-height:54px;transition:background .15s}.button:hover{background:#285555}.text-link{font-size:.9375rem}.arrow{font-size:1.3em;line-height:1;display:inline-block}.hero-note{font-size:.8125rem;color:var(--muted);margin-top:42px;display:flex;gap:13px;align-items:center}.hero-note span+span{border-left:1px solid var(--line);padding-left:13px}.hero-visual{position:relative;min-width:0;padding-bottom:36px}.hero-image{width:100%;height:540px;object-fit:cover;border-radius:var(--radius)}.image-label{position:absolute;bottom:0;left:-22px;right:24px;background:var(--sage);padding:23px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.image-label p{font-size:1rem;line-height:1.5;max-width:20ch}.image-label .graphic{font-size:3rem;font-weight:300;line-height:1}.services{border-top:1px solid var(--line);padding:74px 0 82px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin:22px 0 45px}.section-head h2{max-width:16ch}.section-head p{max-width:38ch;color:var(--muted);font-size:1rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.service{padding:32px 30px 35px;display:flex;flex-direction:column}.service+.service{border-left:1px solid var(--line)}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:39px}.service-number{font-size:.8125rem;color:var(--muted);font-variant-numeric:tabular-nums}.service-icon{width:30px;height:30px;stroke:var(--ink);stroke-width:1.35;fill:none}.service h3{margin-bottom:16px}.service p{color:var(--muted);font-size:.9375rem;line-height:1.7;min-height:5.2em}.service ul{list-style:none;padding:20px 0 0;margin:26px 0 0;border-top:1px solid var(--line);font-size:.875rem;line-height:1.7}.service li{padding:5px 0}.service li:before{content:"+";display:inline-block;margin-right:12px;color:#51734d}.about{background:var(--pale);padding:83px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px}.about h2{margin-top:25px;max-width:14ch}.about-copy>p{color:var(--muted);font-size:1.0625rem;margin-bottom:22px}.about-copy>p:first-child{font-size:1.35rem;color:var(--ink);line-height:1.5}.principles{display:flex;gap:22px;border-top:1px solid #bdc9b5;padding-top:26px;margin-top:32px}.principles span{font-size:.875rem;flex:1}.principles strong{font-size:1.25rem;font-weight:500;display:block;margin-bottom:5px}.contact{padding:86px 0 90px}.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--dark);color:var(--white);padding:55px 57px;border-radius:var(--radius);align-items:center}.contact h2{font-size:clamp(2.15rem,3.9vw,3.6rem);margin-top:23px;max-width:13ch}.contact-copy p{color:#dce7dd;font-size:1.0625rem;margin-bottom:26px}.email{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:clamp(1.08rem,1.6vw,1.45rem);padding-bottom:18px;border-bottom:1px solid #718f84;text-decoration:none;overflow-wrap:anywhere}.email:hover{text-decoration:underline}.contact-copy small{display:block;margin-top:18px;color:#dce7dd;font-size:.8125rem}.contact a:focus-visible{outline-color:#e8c88b}.footer{border-top:1px solid var(--line);padding:36px 0 28px}.footer-main{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-name{font-size:1.125rem;font-weight:650;letter-spacing:-.02em}.footer-location{font-size:.875rem;color:var(--muted);margin-top:7px}.footer-tools{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;max-width:75%}.footer-tools details{font-size:.875rem}.footer-tools summary{cursor:pointer;padding:10px 12px;min-height:44px;list-style-position:inside}.footer-tools details[open]{flex-basis:100%;background:var(--pale);padding:5px 12px 16px;max-width:740px}.detail-content{padding:12px;line-height:1.8;overflow-wrap:anywhere}.detail-content p+p{margin-top:12px}.detail-content dl{margin:0;display:grid;grid-template-columns:minmax(130px,.6fr) 1fr;gap:9px 22px}.detail-content dt{font-weight:600}.detail-content dd{margin:0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:23px;margin-top:30px;font-size:.75rem;color:var(--muted)}.error{padding:100px 0;min-height:65vh}.error h1{font-size:clamp(3rem,7vw,6rem);margin:20px 0}.error p{margin:20px 0 30px}:lang(el) h1{font-size:clamp(3rem,5.35vw,5.4rem);letter-spacing:-.045em}:lang(el) .hero{gap:50px}:lang(el) .nav{gap:20px}:lang(el) h2{letter-spacing:-.035em}
@media(min-width:1600px){.hero-image{height:590px}.hero{padding-top:90px;padding-bottom:90px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:40px}.hero-image{height:490px}.header-row{gap:16px}.nav{gap:20px}.lang{padding-left:12px}.brand{width:178px}.brand img{width:229px;transform:translateX(-26px)}.about-grid{gap:55px}.contact-box{padding:44px;gap:40px}.service{padding:27px 23px}.nav-cta{gap:12px}:lang(el) .nav{gap:15px}:lang(el) .nav-cta{padding:12px}}
@media(max-width:850px){.header-row{min-height:88px;flex-wrap:wrap;gap:0}.brand{margin-right:auto;height:74px;width:183px}.lang{border-left:0;padding-left:0;margin-right:8px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;border:1px solid var(--line);background:transparent;border-radius:var(--radius);cursor:pointer}.menu-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5}.nav{order:4;width:100%;margin:0;flex-wrap:wrap;padding:0 0 16px;gap:12px 26px}.js .nav{display:none}.js .nav.is-open{display:flex}.nav a{padding:12px 0;min-height:44px}.nav .nav-cta{padding:9px 16px}.hero{gap:30px;padding-top:48px;padding-bottom:54px;grid-template-columns:1.1fr .9fr}.hero h1{font-size:clamp(3rem,6.7vw,4.4rem)}.hero-intro{font-size:1rem}.hero-image{height:450px}.hero-note{margin-top:26px;font-size:.75rem;flex-wrap:wrap}.image-label{left:-10px;right:12px;padding:18px}.image-label p{font-size:.875rem}.hero-actions{gap:18px}.button{gap:18px}.section-head{align-items:start;gap:30px}.section-head p{max-width:30ch}.service-grid{grid-template-columns:1fr}.service{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;padding:28px}.service+.service{border-left:0;border-top:1px solid var(--line)}.service-top{grid-column:1 / -1;margin-bottom:20px}.service h3{grid-column:1}.service p{grid-column:1;min-height:0}.service ul{grid-column:2;grid-row:2 / 4;margin:0;padding:0;border:0}.about-grid{gap:40px}.contact-box{gap:35px;padding:35px}.footer-main{display:block}.footer-tools{max-width:100%;justify-content:flex-start;margin-top:20px}:lang(el) .hero{gap:25px}:lang(el) .hero h1{font-size:clamp(2.7rem,5.3vw,3.8rem)}}
@media(max-width:600px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header-row{min-height:80px}.brand{width:164px;height:72px}.brand img{width:207px;transform:translateX(-24px)}.lang{margin-right:5px}.lang a{min-width:38px}.hero{display:flex;flex-direction:column;gap:40px;padding-top:40px;padding-bottom:47px;align-items:stretch}.hero h1{font-size:clamp(3.45rem,11vw,4.5rem);margin:24px 0 20px}.hero-intro{font-size:1.0625rem;max-width:40ch}.hero-actions{margin-top:27px}.hero-note{margin-top:27px}.hero-visual{margin-left:12px;padding-bottom:29px}.hero-image{height:375px;object-position:center 46%}.image-label{left:-12px;right:15px;padding:20px 23px}.image-label p{font-size:1rem;max-width:26ch}.image-label .graphic{font-size:2.6rem}.services{padding:45px 0 52px}.section-head{display:block;margin:20px 0 30px}.section-head h2{max-width:17ch}.section-head p{max-width:none;margin-top:22px}.service{display:block;padding:26px}.service-top{margin-bottom:27px}.service p{font-size:1rem}.service ul{padding-top:19px;border-top:1px solid var(--line);margin-top:22px;font-size:.9375rem}.about{padding:51px 0}.about-grid{grid-template-columns:1fr;gap:30px}.about h2{max-width:16ch}.about-copy>p:first-child{font-size:1.2rem}.principles{gap:14px;flex-wrap:wrap}.principles span{min-width:85px}.principles strong{font-size:1.08rem}.contact{padding:45px 0}.contact-box{grid-template-columns:1fr;gap:32px;padding:31px 25px}.contact h2{max-width:15ch}.contact-copy p{font-size:1rem}.email{font-size:1.1rem;gap:6px}.footer{padding-top:27px}.footer-tools{gap:2px}.footer-tools summary{padding:10px 8px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}.detail-content dl{grid-template-columns:1fr;gap:2px}.detail-content dd{margin-bottom:12px}:lang(el) .hero h1{font-size:clamp(2.9rem,9.7vw,3.9rem)}:lang(el) .hero{gap:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:380px){.brand{width:142px}.brand img{width:185px;transform:translateX(-23px)}.lang a{min-width:44px}.hero-actions{gap:16px}.hero-actions .button{width:100%}.hero-note{display:block}.hero-note span{display:block}.hero-note span+span{border:0;padding:0;margin-top:4px}.contact-box{padding:27px 21px}}
@media(forced-colors:active){.button,.nav-cta,.menu-toggle,.service-grid,.contact-box{border:1px solid CanvasText}.lang a[aria-current=page]{outline:2px solid CanvasText}}
/* Cookie preferences share the site's existing sage and deep-green palette. */
[hidden]{display:none!important}
.cookie-footer-link{font-size:.875rem;padding:10px 12px;min-height:44px;display:inline-flex;align-items:center}
html{scroll-padding-bottom:calc(var(--cookie-banner-height,0px) + 24px)}
body{padding-bottom:var(--cookie-banner-height,0px)}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:30;max-height:50vh;max-height:50dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);border-top:1px solid var(--ink);box-shadow:0 -8px 30px #12353514;padding:22px max(24px,calc((100vw - 1280px)/2));padding-bottom:max(22px,env(safe-area-inset-bottom));display:flex;gap:24px;align-items:center;justify-content:space-between}
.cookie-banner-copy{max-width:44rem;min-width:0}
.cookie-banner h2,.cookie-dialog h2{font-size:1.5rem;letter-spacing:-.025em;line-height:1.25;font-weight:600}
.cookie-banner p{margin-top:8px;font-size:1rem;color:var(--muted)}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.cookie-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 17px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--white);font-size:.9375rem;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}
.cookie-button:hover{background:#285555}
.cookie-button-secondary{color:var(--ink);background:transparent}
.cookie-button-secondary:hover{background:var(--pale)}
.cookie-dialog{color:var(--ink);background:var(--paper);width:min(42rem,calc(100% - 32px));max-width:100%;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 16px 70px #12353533;font-size:1rem;line-height:1.6}
.cookie-dialog:not([open]){display:none}
.cookie-dialog::backdrop{background:#102e2eb3}
.cookie-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}
.cookie-dialog h2{min-width:0}
.cookie-close{font-size:1.8rem;line-height:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--ink);width:44px;height:44px;flex-shrink:0;cursor:pointer}
.cookie-close:hover{background:var(--pale)}
.cookie-dialog>p{color:var(--muted)}
.cookie-categories{margin:24px 0}
.cookie-category{border-top:1px solid var(--line);padding:18px 0}
.cookie-category:last-child{border-bottom:1px solid var(--line)}
.cookie-category-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cookie-category h3{font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.5}
.cookie-category p{font-size:.9375rem;line-height:1.6;margin-top:9px;color:var(--muted)}
.cookie-badge{background:var(--pale);padding:4px 10px;border-radius:3px;font-size:.875rem}
.cookie-dialog .cookie-hosting{font-size:.875rem;line-height:1.65}
.cookie-policy{display:inline-flex;align-items:center;min-height:44px;margin-top:7px;font-size:.9375rem}
.cookie-dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.cookie-status{font-size:.9375rem;line-height:1.6;background:var(--pale);color:var(--ink);max-width:none}
.cookie-status:not(:empty){padding:18px max(24px,calc((100vw - 1280px)/2));border-top:1px solid var(--line)}
html:has(.cookie-dialog[open]){overflow:hidden}
@media(max-width:1100px){.cookie-banner{flex-direction:column;align-items:stretch;gap:16px}.cookie-banner-copy{max-width:none}.cookie-banner p{max-width:none}}
@media(max-width:600px){.cookie-banner{padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-dialog{padding:20px}.cookie-dialog-actions{flex-direction:column}.cookie-dialog-actions .cookie-button{width:100%}.cookie-footer-link{padding:10px 8px}}
@media(max-width:380px){.cookie-actions{grid-template-columns:1fr}.cookie-banner{padding:18px}}
@media(forced-colors:active){.cookie-banner,.cookie-dialog,.cookie-button,.cookie-badge,.cookie-close{border:1px solid CanvasText}}
@media print{.header,.hero-visual,.hero-actions,.footer-tools,.skip,.cookie-banner,.cookie-dialog,.cookie-status{display:none!important}.wrap{width:100%}.hero,.about-grid,.contact-box{display:block;padding:20px 0}.service-grid{display:block}.service+.service{border-left:0}.contact-box{color:#000;background:#fff}.contact-copy p,.contact-copy small{color:#000}.hero h1{font-size:40pt}.contact{padding:20px 0}}
