/* CALITHOS 1.1 — architectural presentation and motion. */
:root{--c2-gold:#d3be98;--c2-deep:#13251d;--c2-ease:cubic-bezier(.2,.7,.2,1)}
.c3-line-icon .elementor-icon{display:flex;align-items:center;justify-content:center}
.c3-line-icon svg,.c3-icon-button .elementor-button-icon svg,#top svg{fill:none!important;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}
.c3-icon-button .elementor-button-content-wrapper{display:inline-flex!important;align-items:center;gap:12px}
.c3-icon-button .elementor-button-icon{display:inline-flex;transform:none!important;line-height:0}
.c3-icon-button .elementor-button-icon svg{width:20px;height:20px}
.elementor .c3-title-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between}
.elementor .c3-title-row>.elementor-widget:first-child{width:auto;flex:1;min-width:0}
.elementor .c3-title-arrow{width:28px;flex:0 0 28px;color:inherit}
.c3-title-arrow .elementor-icon{color:inherit}
.elementor .c2-card-arrow .elementor-icon-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.elementor .c2-card-arrow svg{width:22px;height:22px}
.elementor .calithos-menu-toggle .elementor-button{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;color:inherit}
.calithos-menu-toggle .elementor-button-text:empty{display:none}
.calithos-menu-toggle .elementor-button-icon svg{width:27px;height:27px}
.calithos-menu-toggle svg path{transform-origin:12px 12px;transition:transform .3s,opacity .3s}
.calithos-menu-toggle [aria-expanded="true"] svg path:nth-child(1){transform:rotate(45deg) translateY(5px)}
.calithos-menu-toggle [aria-expanded="true"] svg path:nth-child(2){opacity:0}
.calithos-menu-toggle [aria-expanded="true"] svg path:nth-child(3){transform:rotate(-45deg) translateY(-5px)}
#top{display:grid;place-items:center}
#top svg{width:21px;height:21px;pointer-events:none}
body.inner #header:not(.scrolled){position:absolute;height:105px;background:transparent;border-bottom-color:#ffffff35;color:#fff;backdrop-filter:none}
body.inner #header:not(.scrolled) .brand img{filter:brightness(0) invert(1)}
body.inner #header:not(.scrolled) .header-cta{border-color:#ffffff60}
#header.scrolled{background:rgba(246,243,237,.78);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:0 8px 35px #14201a0c}
.elementor .calithos-header-inner>.brand{width:var(--width,230px);flex:0 0 var(--width,230px)}
.elementor .calithos-header-inner .header-cta{flex:0 0 auto;white-space:nowrap}
.calithos-header-inner .header-cta span{padding-left:0}
.elementor .e-con.e-con{padding-top:var(--padding-top,0px);padding-right:var(--padding-right,0px);padding-bottom:var(--padding-bottom,0px);padding-left:var(--padding-left,0px)}
.elementor .c2-hero{isolation:isolate;min-height:860px;height:100svh;max-height:1100px;background-position:center center}
.elementor .e-con.c2-hero{overflow:hidden}
.elementor .c2-hero::after{content:'';position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:inherit;z-index:0;animation:c2-kenburns 24s ease-in-out infinite alternate;pointer-events:none}
.elementor .c2-hero::before{z-index:1;pointer-events:none}
.elementor .c2-hero .hero-content{z-index:3;top:50%;transform:translate(-50%,-43%);align-items:flex-start}
.c2-hero h1{max-width:890px;text-wrap:balance}
.c2-hero h1 span{color:var(--c2-gold);text-shadow:0 12px 45px #0002}
.c2-hero .hero-content>.elementor-widget{animation:c2-enter 1.05s var(--c2-ease) both}
.c2-hero .hero-content>.elementor-widget:nth-child(2){animation-delay:.15s}
.c2-hero .hero-content>.elementor-widget:nth-child(3){animation-delay:.3s}
.c2-hero .hero-content>.elementor-widget:nth-child(4){animation-delay:.45s}
.elementor .c2-hero-signature{width:auto;display:flex;flex-direction:row;gap:38px;border-top:1px solid #ffffff35;padding-top:22px;max-width:600px}
.c2-hero-stat{width:auto!important;white-space:nowrap}
.c2-hero-stat p{color:inherit;display:flex;gap:12px;align-items:center;line-height:1.15}
.c2-hero-stat span{font-size:14px;line-height:1.5;display:inline-block;max-width:130px;white-space:normal;letter-spacing:.01em}
.elementor .c2-hero-note{position:absolute;right:max(60px,calc((100% - 1440px)/2));top:49%;transform:translateY(-30%);z-index:3;background:#ffffff0b;backdrop-filter:blur(15px);gap:22px;box-shadow:0 20px 80px #0002;animation:c2-enter-note 1.3s var(--c2-ease) .4s both}
.c2-hero-note p{margin:0;color:inherit;font-size:14px}
.c2-hero-note .c2-note-title .elementor-heading-title{font-size:25px;line-height:1.4;letter-spacing:-.025em}
.c2-hero-note::after{content:'';width:40px;height:1px;background:var(--c2-gold);position:absolute;right:30px;top:44px}
.c2-hero .hero-bottom{z-index:3}
.c2-hero .hero-bottom .elementor-button{font-weight:400}
.ribbon{position:relative;border-bottom:1px solid #c4bca944}
.ribbon i{display:inline-block;animation:c2-spin 25s linear infinite}
.elementor .c2-services{background:#eae6de}
.c2-services .section-heading{padding-bottom:15px}
.elementor .c2-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.elementor .c2-service-card{position:relative;min-height:300px;overflow:hidden;isolation:isolate;color:white;transition:transform .65s var(--c2-ease),box-shadow .65s var(--c2-ease)}
.c2-service-card::after{content:'';position:absolute;inset:0;z-index:0;background-image:inherit;background-size:cover;background-position:center;transition:transform 1s var(--c2-ease);pointer-events:none}
.c2-service-card::before{z-index:1;pointer-events:none}
.c2-service-card>.e-con{position:relative;z-index:2}
.c2-service-card p{color:inherit;margin:0}
.c2-service-card .c2-card-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-bottom:35px}
.c2-card-top>.elementor-widget{width:auto}
.c2-card-arrow{display:grid;place-items:center;border:1px solid #ffffff50;width:46px!important;height:46px;border-radius:50%;transition:transform .5s,background .5s}
.c2-card-arrow p{line-height:1}
.c2-service-title .elementor-heading-title{color:white;line-height:1.25}
.c2-service-description{max-width:450px;font-size:16px;line-height:1.8}
.c2-service-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px #11231e25}
.c2-service-card:hover::after{transform:scale(1.065)}
.c2-service-card:hover .c2-card-arrow{transform:rotate(45deg);background:#ffffff15}
.elementor .c2-material-card{position:relative;height:590px;overflow:hidden;display:flex;justify-content:flex-end;isolation:isolate;background-color:var(--c2-deep);transition:transform .7s var(--c2-ease),box-shadow .7s var(--c2-ease)}
.elementor .c2-material-card::before{z-index:1;pointer-events:none}
.elementor .c2-material-card::after{content:none}
.elementor .c2-material-card>.e-con{position:relative;left:auto;right:auto;bottom:auto;width:100%;z-index:2;color:white}
.elementor .c2-material-card p,.elementor .c2-material-card span{color:inherit;margin:0}
.elementor .c2-material-card .elementor-heading-title{color:white;line-height:1.2;text-shadow:0 2px 20px #0003}
.c2-material-card .elementor-widget-text-editor{padding-bottom:18px;letter-spacing:.1em}
.c2-material-card h3 b{float:right;font-weight:400;transition:transform .45s}
.c2-material-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px #13251d25}
.c2-material-card:hover h3 b{transform:translate(5px,-5px)}
.elementor .c2-masthead{position:relative;isolation:isolate;min-height:620px;display:flex;justify-content:flex-end;color:#fff;max-width:none}
.c2-masthead::before{z-index:1;pointer-events:none}
.elementor .c2-masthead-content{position:relative;z-index:2;max-width:1440px;gap:0}
.c2-masthead .elementor-heading-title{color:white;max-width:1050px;text-wrap:balance;animation:c2-enter 1s var(--c2-ease) both}
.c2-masthead .elementor-widget-text-editor{max-width:710px;line-height:1.85}
.c2-masthead p{margin:0;color:inherit}
.c2-masthead .eyebrow{color:var(--c2-gold);font-size:14px}
.c2-masthead .eyebrow p{color:var(--c2-gold)}
.c2-masthead .c2-breadcrumb{margin-bottom:32px;font-size:14px;opacity:.8}
.c2-breadcrumb .elementor-button{background:transparent;color:#e0e5dc;padding:0;font-size:14px;font-weight:400;letter-spacing:.02em}
.elementor .c2-masthead .elementor-widget-heading+.elementor-widget-text-editor{margin-top:25px}
.c2-masthead .eyebrow .elementor-widget{font-size:14px}
.elementor .c2-cta{border-top-color:#c7c7bb}
.elementor .c2-cta .elementor-heading-title{color:#13251d;background:none;-webkit-text-fill-color:currentColor}
.elementor .c2-hero-stat p{font-size:inherit}
.elementor .button.light .elementor-button svg{fill:#242b27;color:#242b27}
.c2-watch{opacity:0;transform:translateY(25px);transition:opacity 1s var(--c2-ease),transform 1s var(--c2-ease)}
.c2-watch.c2-visible{opacity:1;transform:none}
footer{background:var(--c2-deep);padding-top:0}
.elementor .c2-footer{background:var(--c2-deep);color:#f6f3ed;max-width:none;position:relative;isolation:isolate;overflow:hidden}
.c2-footer::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 10% 5%,#66865b22,transparent 50%);z-index:0;pointer-events:none}
.c2-footer>.e-con{position:relative;z-index:1}
.c2-footer p{margin:0;color:inherit}
.c2-footer .c2-label{font-size:14px;letter-spacing:.13em;font-weight:500}
.c2-footer .elementor-heading-title{color:#f6f3ed}
.elementor .c2-footer-cta{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff25}
.c2-footer-cta>.e-con{width:auto}
.c2-footer-button{width:auto!important;align-self:flex-end}
.c2-footer-button .elementor-button{display:inline-flex;background:var(--c2-gold);color:#13251d;padding:20px 26px;border:1px solid var(--c2-gold);border-radius:12px;font-size:15px;font-weight:600;transition:transform .4s,background .4s;min-height:65px}
.c2-footer-button .elementor-button:hover{background:#eadbc0;transform:translateY(-4px)}
.elementor .c2-footer-grid{grid-template-columns:1.4fr 1fr 1.2fr;gap:55px}
.c2-footer-brand{letter-spacing:.14em;line-height:1.2}
.c2-footer .c2-footer-link .elementor-button{color:#f1f3ec;font-size:16px;background:transparent;padding:0;border:0;line-height:1.7;text-align:left;transition:color .3s,transform .3s}
.c2-footer .c2-footer-link .elementor-button:hover{color:var(--c2-gold);transform:translateX(5px)}
.c2-footer .c2-footer-phone .elementor-button{font-size:25px;white-space:nowrap;background:transparent;padding:0;color:#f1f3ec;font-weight:400}
.c2-footer .c2-footer-wordmark{border-bottom:1px solid #ffffff25}
.c2-footer-logo img{filter:brightness(0) invert(1);height:auto;object-fit:contain}
.c2-wordmark .elementor-heading-title{font-size:clamp(70px,13.25vw,195px);font-weight:400;letter-spacing:.08em;line-height:1}
.elementor .c2-footer-bottom{display:flex;flex-direction:row;justify-content:space-between;gap:12px;font-size:14px}
.c2-footer-bottom .elementor-widget{width:auto}
.c2-footer-bottom a{color:#f6f3ed}
.c2-footer-bottom a:hover{color:var(--c2-gold)}
.c2-footer .elementor-widget-text-editor{font-family:Manrope,sans-serif}
.application-card img,.gallery-card img,.material-detail img{transition:transform .9s var(--c2-ease),filter .9s var(--c2-ease)}
.application-card:hover img,.gallery-card:hover img{transform:translateY(-5px);filter:contrast(1.03)}
.js-motion .reveal{transition-duration:1s;transition-timing-function:var(--c2-ease)}
.button:hover .elementor-button-icon{transform:translate(3px,-3px) rotate(-45deg)}
.elementor-editor-active .c2-hero .hero-content>.elementor-widget{animation:none}
.elementor-editor-active .c2-hero::after,.elementor-editor-active .ribbon i{animation:none}
@keyframes c2-kenburns{from{transform:scale(1.02)}to{transform:scale(1.12)}}
@keyframes c2-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes c2-enter-note{from{opacity:0;transform:translateY(-20%)}to{opacity:1;transform:translateY(-30%)}}
@keyframes c2-spin{to{transform:rotate(360deg)}}
@media(max-width:1200px){.elementor .c2-hero-note{display:none}.elementor .c2-footer-grid{gap:35px}.c2-footer .c2-footer-phone .elementor-button{font-size:22px}}
@media(max-width:900px){body.inner #header:not(.scrolled){height:85px}.elementor .c2-masthead{min-height:570px}.elementor .c2-hero{min-height:900px}.elementor .c2-service-card{min-height:320px}.elementor .c2-footer-cta{flex-direction:column;align-items:flex-start}.c2-footer-button{align-self:flex-start}.elementor .c2-footer-grid{grid-template-columns:1fr 1fr}.c2-footer-about{grid-column:1/-1}.c2-wordmark .elementor-heading-title{font-size:12vw}}
@media(max-width:600px){body.inner #header:not(.scrolled){height:78px}.elementor .c2-hero{height:100svh;min-height:930px;max-height:1100px}.elementor .c2-hero .hero-content{top:49%;transform:translate(-50%,-43%)}.c2-hero .hero-content .eyebrow{max-width:330px;letter-spacing:.06em}.elementor .c2-hero-signature{gap:25px;margin-top:30px;padding-top:20px;max-width:100%}.c2-hero-stat{font-size:25px}.c2-hero-stat p{gap:9px}.c2-hero-stat span{max-width:100px;font-size:14px}.elementor .c2-services-grid{grid-template-columns:1fr;gap:18px}.elementor .c2-service-card{min-height:285px}.c2-service-title .elementor-heading-title{font-size:26px}.elementor .c2-material-card{height:450px}.elementor .c2-masthead{min-height:570px}.c2-masthead .elementor-heading-title{font-size:43px}.c2-masthead .c2-breadcrumb{margin-bottom:28px}.elementor .c2-footer-grid{grid-template-columns:1fr;gap:38px}.c2-footer-about{grid-column:auto}.c2-footer .c2-footer-headline .elementor-heading-title{font-size:42px}.c2-footer .c2-footer-phone .elementor-button{font-size:23px}.elementor .c2-footer-bottom{flex-direction:column;gap:8px}.c2-wordmark .elementor-heading-title{font-size:13vw;letter-spacing:.04em}.c2-footer-button .elementor-button{font-size:14px;padding:18px 22px}.c2-hero .hero-bottom .elementor-button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.elementor .c2-hero::after,.c2-hero .hero-content>.elementor-widget,.elementor .c2-hero-note,.ribbon i{animation:none;opacity:1}.elementor .c2-hero-note{transform:translateY(-30%)}.application-card:hover img,.gallery-card:hover img,.c2-service-card:hover,.c2-material-card:hover{transform:none}.c2-watch{opacity:1;transform:none}}
