@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Montserrat:wght@400;500;600&display=swap');
:root{--background:#f7f5ec;--text:#203768;--primary:#10275f;--secondary:#3b53a5;--accent:#b99a59;--pale:#e6edf8;--surface:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--background);color:var(--text);font:400 14px/1.9 Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.06;margin:15px 0 26px;text-wrap:balance}h1{font-size:clamp(50px,6.7vw,100px)}h2{font-size:clamp(38px,4.5vw,64px)}h3{font-size:36px}p{margin:0 0 24px}p,a,.prose{overflow-wrap:anywhere}.container{width:min(1180px,calc(100% - 80px));margin:auto}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:600;text-transform:uppercase;display:block}.site-header{position:relative;z-index:30;background:var(--primary);color:var(--background);border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.nav-wrap{width:min(1360px,calc(100% - 64px));margin:auto;min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{flex:0 0 86px}.brand img{width:86px;height:86px;object-fit:contain}nav{display:flex;align-items:center;gap:25px}nav>a,.nav-group>a{font-size:12px;padding:34px 0;display:inline-block;position:relative}nav a.active:after,nav>a:hover:after{content:'';position:absolute;bottom:23px;height:1px;background:var(--accent);inset-inline:0}.nav-group{position:relative;display:flex;align-items:center;gap:7px}.submenu-toggle{color:inherit;border:0;background:none;padding:10px 3px}.submenu{display:none;position:absolute;right:0;top:85%;min-width:230px;padding:12px;background:var(--primary);border:1px solid var(--accent);box-shadow:0 16px 30px #10275f22}.submenu a{display:block;padding:9px 14px;font-size:12px}.nav-group.is-open .submenu{display:block}.submenu a:hover{background:color-mix(in srgb,var(--background) 10%,transparent)}.menu-toggle{display:none}.scenic{position:relative;isolation:isolate;overflow:hidden;background:var(--section-bg,var(--primary));color:var(--section-text,var(--background))}.section-background{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--position,50% 50%);filter:brightness(var(--brightness,1));pointer-events:none}.section-shade{position:absolute;z-index:-2;inset:0;background:var(--overlay-color,var(--primary));opacity:var(--overlay,0);pointer-events:none}.hero{min-height:660px;display:flex;align-items:center}.hero .section-background{object-position:var(--position);width:65%;left:35%}.hero:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--primary) 2%,color-mix(in srgb,var(--primary) 94%,transparent) 28%,transparent 88%),linear-gradient(0deg,var(--primary),transparent 35%);pointer-events:none}.hero-content{padding:70px 0 55px}.hero h1{max-width:600px;font-size:clamp(74px,8.5vw,124px);letter-spacing:-2px}.hero p{max-width:430px;font-size:13px;letter-spacing:1px}.ornament{font:36px Georgia;color:var(--accent);margin:20px 0}.hero-actions{display:flex;gap:28px;align-items:center;margin:34px 0 60px}.hero-footnote{font-size:9px;letter-spacing:3px;opacity:.7}.btn{border:1px solid currentColor;border-radius:2px;padding:13px 22px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn.filled{background:var(--primary);color:var(--background);border-color:var(--primary)}.hero .btn.filled{background:var(--background);color:var(--primary);border-color:var(--background)}.text-link{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;display:inline-block;border-bottom:1px solid var(--accent);padding:8px 0;margin-top:14px}.page-hero{min-height:345px;display:flex;align-items:center;text-align:center;padding:65px 0}.page-hero .ornament{font-size:24px;margin:12px 0}.page-hero h1{margin-bottom:8px}.page-hero p{max-width:620px;margin:20px auto 0}.section{padding:90px 0;background:var(--section-bg,var(--background));color:var(--section-text,var(--text))}.tone-pale{--section-bg:var(--pale);--section-text:var(--text)}.tone-blue{--section-bg:var(--primary);--section-text:var(--background)}.section-heading{max-width:800px;margin-bottom:44px}.section-heading:has(.landscape){max-width:none}.section-heading .landscape{max-width:900px;margin:36px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.split>*{min-width:0}.prose{line-height:2.05;white-space:normal;max-width:780px}.landscape{margin:0;position:relative;padding:12px;border:1px solid var(--accent)}.landscape img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--pale)}.image-corner{position:absolute;bottom:-18px;right:24px;color:var(--accent);font:38px Georgia;background:var(--section-bg,var(--background));padding:0 8px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card,.project-card{padding:42px;border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--surface) 5%,transparent);transition:transform .2s}.service-card:hover,.project-card:hover{transform:translateY(-4px)}.service-card h3{font-size:45px}.service-card p{max-height:140px;overflow:hidden}.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.testi{margin:0;border-top:1px solid var(--accent);padding:22px 0}.quote-mark{font:64px Georgia;color:var(--accent);line-height:1}.testi blockquote{font:26px/1.5 'Cormorant Garamond',Georgia,serif;margin:0 0 24px}.testi figcaption{font-size:11px;display:flex;align-items:center;gap:12px}.testi figcaption span{margin-left:auto;color:var(--secondary)}.testimonial-photo{width:80px;aspect-ratio:16/10;object-fit:cover}.items{display:grid;gap:24px}.item-card{border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);padding:40px;display:grid;grid-template-columns:48px minmax(0,1.2fr) minmax(0,1fr);gap:32px;background:var(--surface);color:var(--text)}.item-number{font:28px Georgia;color:var(--accent)}.item-card h3{margin-top:0}.price{display:block;font:26px Georgia;color:var(--secondary)}.features{padding:0;list-style:none}.features li{border-bottom:1px solid var(--pale);padding:12px 0}.features li:before{content:'•';color:var(--accent);margin-right:12px}.card-image{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:26px}.articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.article-card{border:1px solid var(--pale);background:var(--surface);color:var(--text)}.article-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.inside{padding:24px}.inside .eyebrow{font-size:8px;letter-spacing:1.3px}.inside h3{font-size:31px}.article-body{width:min(800px,calc(100% - 40px));margin:auto}.article-body .prose{margin-bottom:32px}.learn{padding:62px 0;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent)}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.learn h2{font-size:44px;margin-bottom:0}.learn .btn{flex-shrink:0}footer{background:var(--primary);color:var(--background);padding-top:64px}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:60px;font-size:12px}.footer-logo{width:95px;height:95px;object-fit:contain;margin-bottom:15px}.footer-grid p{margin-top:20px;line-height:2.2}.subscribe{display:flex;border-bottom:1px solid var(--accent)}.subscribe input{width:100%;min-width:0;border:0;background:transparent;color:inherit;padding:12px 0}.subscribe input::placeholder{color:inherit;opacity:.7}.subscribe button{background:none;border:0;color:var(--accent);font-size:26px;padding:5px 15px}.copyright{border-top:1px solid #ffffff20;margin-top:50px;padding-block:25px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.contact-links{display:grid;gap:0;margin-bottom:32px}.contact-links a{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--accent);gap:20px}.contact-links span{font-size:11px;text-transform:uppercase;letter-spacing:2px}.form-card{max-width:760px;background:var(--surface);color:var(--text);padding:40px;border:1px solid var(--pale)}.field{margin-bottom:22px}.field label{display:block;font-size:12px;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;min-width:0;padding:12px;border:1px solid #bbc7dc;background:var(--background);color:var(--text);font-size:16px;border-radius:0}.form-note{font-size:12px;color:var(--text)}.confirmation{min-height:55vh}.video-preview{position:relative;display:block;width:100%;padding:0;border:0;background:var(--primary);color:white;aspect-ratio:16/9;margin:35px 0}.video-preview img{width:100%;height:100%;object-fit:cover;opacity:.65}.video-preview span{position:absolute;inset:0;display:grid;place-items:center}.video-frame{width:100%;aspect-ratio:16/9;border:0;margin:35px 0}.preview-notice{padding:12px;text-align:center;background:#fff0bc;color:#203768}.skip{position:fixed;top:-100px;left:15px;background:var(--background);padding:12px;z-index:100}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:1150px){nav{gap:16px}nav>a,.nav-group>a{font-size:11px}.nav-wrap{gap:20px}.split{gap:40px}}
@media(max-width:950px){.container{width:calc(100% - 40px)}.nav-wrap{width:calc(100% - 40px);min-height:80px}.brand,.brand img{width:70px;height:70px;flex-basis:70px}.menu-toggle{display:block;z-index:40;width:44px;height:44px;border:1px solid var(--accent);background:none;padding:10px}.menu-toggle span{display:block;background:var(--background);height:1px;margin:5px 0}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--primary);padding:20px 30px 30px;max-height:calc(100dvh - 80px);overflow:auto;align-items:stretch;gap:0}nav.open{display:flex;flex-direction:column}nav>a,.nav-group>a{font-size:16px;padding:12px 0}nav a.active:after{bottom:7px}.nav-group{flex-wrap:wrap}.submenu-toggle{margin-left:auto;padding:15px}.submenu{position:static;flex-basis:100%;box-shadow:none;margin-bottom:15px}.nav-open{overflow:hidden}.hero{min-height:620px}.hero .section-background{width:100%;left:0}.hero:after{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 95%,transparent),color-mix(in srgb,var(--primary) 30%,transparent)),linear-gradient(0deg,var(--primary),transparent 40%)}.split{grid-template-columns:1fr;gap:35px}.section{padding:65px 0}.landscape{max-width:720px}.articles{grid-template-columns:1fr 1fr}.footer-grid{gap:30px;grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:first-child p{max-width:350px}.item-card{grid-template-columns:35px 1fr}.features{grid-column:2}.cta-inner{align-items:flex-start;flex-direction:column}.contact-links a{flex-wrap:wrap}.hero-footnote{letter-spacing:1.6px}}
@media(max-width:600px){h1{font-size:53px}h2{font-size:40px}.hero h1{font-size:78px}.hero-content{padding:55px 0}.hero-actions{gap:20px;flex-wrap:wrap;margin-bottom:42px}.hero{min-height:650px}.page-hero{min-height:285px;padding:45px 0}.service-grid,.testi-grid,.articles,.footer-grid{grid-template-columns:1fr}.service-card,.project-card{padding:28px}.section{padding:52px 0}.section-heading{margin-bottom:30px}.footer-grid>div:first-child{grid-column:auto}.item-card{padding:25px;gap:15px;grid-template-columns:1fr}.item-number{font-size:22px}.features{grid-column:auto;margin:0}.form-card{padding:25px 20px}.copyright{flex-direction:column;gap:10px}.learn h2{font-size:38px}.contact-links a{font-size:12px}.contact-links span{width:100%}.eyebrow{letter-spacing:2px}.btn{width:100%}.hero .text-link{margin:0}.testi blockquote{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.gtranslate_wrapper{position:relative;z-index:50}.gt_float_switcher{font-family:Montserrat,Arial,sans-serif!important;font-size:14px!important}.gt_float_switcher img{width:22px!important}.nav-open .gtranslate_wrapper{visibility:hidden}

/* Refined proportions and soft image transitions. */
.container{width:min(1160px,calc(100% - 64px))}
.nav-wrap{width:min(1240px,94%);min-height:80px;gap:18px}
.brand{flex-basis:80px}.brand img{width:80px;height:80px}
nav{gap:18px}nav>a,.nav-group>a{padding:26px 0}nav a.active:after,nav>a:hover:after{bottom:18px}
.hero{min-height:580px}.hero-content{padding:54px 0}
.hero .section-background{width:100%;left:0;mask-image:linear-gradient(90deg,transparent 12%,rgba(0,0,0,.2) 30%,#000 70%);-webkit-mask-image:linear-gradient(90deg,transparent 12%,rgba(0,0,0,.2) 30%,#000 70%)}
.hero:after{background:linear-gradient(90deg,var(--primary) 0%,transparent 78%),linear-gradient(0deg,var(--primary),transparent 35%)}
.hero h1{font-size:clamp(62px,7.2vw,100px);line-height:1.02;letter-spacing:0;max-width:560px;margin:20px 0 24px}
.hero-actions{margin:28px 0 36px;gap:20px}
.page-hero{min-height:260px;padding:45px 0}.page-hero .hero-content{padding:0}
.page-hero h1{font-size:clamp(44px,5.5vw,76px);margin:18px 0 8px}
h2{font-size:clamp(36px,3.8vw,54px)}h3{font-size:32px}
.section{padding:68px 0}.section-heading{margin-bottom:30px}.split{gap:52px}
.service-card,.project-card{padding:32px}.service-card h3{font-size:38px}
.item-card{padding:32px;gap:26px}.learn{padding:46px 0}.learn h2{font-size:38px}
/* Keep the frame on the image itself so it always follows the photo. */
figure.landscape{width:fit-content;max-width:100%;padding:0;border:0;line-height:0}
figure.landscape.photo-natural,figure.landscape.photo-portrait,figure.landscape.photo-landscape{max-width:min(460px,100%);justify-self:center;margin-inline:auto;height:auto}
figure.landscape.photo-portrait,.image-only figure.landscape{max-width:min(360px,100%)}
figure.landscape img{display:block;width:auto;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border:1px solid var(--accent)}
@media(max-width:950px){
 .container{width:calc(100% - 40px)}.nav-wrap{width:calc(100% - 40px);min-height:72px}
 .brand{flex-basis:54px}.brand img{width:54px;height:54px}
 nav{top:72px;max-height:calc(100dvh - 72px);gap:0}nav>a,.nav-group>a{padding:11px 0}
 .hero{min-height:540px}.hero h1{font-size:clamp(58px,9vw,84px)}
 .hero .section-background{mask-image:linear-gradient(90deg,transparent,#000 85%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 85%)}
 .split{gap:32px}.section{padding:56px 0}
}
@media(max-width:600px){
 .nav-wrap{min-height:68px}.brand{flex-basis:50px}.brand img{width:50px;height:50px}
 nav{top:68px;max-height:calc(100dvh - 68px)}
 .hero{min-height:520px}.hero-content{padding:44px 0}.hero h1{font-size:clamp(48px,13.4vw,68px)}
 .hero-actions{margin:24px 0 30px}.page-hero{min-height:220px;padding:38px 0}
 .page-hero h1{font-size:clamp(40px,11vw,56px)}h2{font-size:36px}
 .section{padding:46px 0}.service-card,.project-card,.item-card{padding:24px}
 .service-card h3{font-size:32px}.learn h2{font-size:34px}
 figure.landscape.photo-portrait,.image-only figure.landscape{max-width:min(280px,100%)}
}

/* Fill the opening viewport without scaling the cover contents. */
.hero{min-height:max(580px,calc(100vh - 80px));min-height:max(580px,calc(100dvh - 80px))}
@media(max-width:950px){.hero{min-height:max(540px,calc(100vh - 72px));min-height:max(540px,calc(100dvh - 72px))}}
@media(max-width:600px){.hero{min-height:max(520px,calc(100vh - 68px));min-height:max(520px,calc(100dvh - 68px))}}
