/* Glass-inspired colour and light, with readable editorial surfaces. */
:root{--green:#07534a;--soft:#d7eae3;--ink:#103d38;--muted:#3d625b;--line:#a6c9bd}
.nav{height:120px}
.logo-brand{flex:none;width:340px;background:transparent;align-self:stretch;justify-content:center;padding:3px 0;margin-left:-24px}
.logo-brand img{width:100%;height:100%;object-fit:contain;transform:scaleX(1.06)}
.logo-brand img{animation:logo-colours 12s ease-in-out infinite}
@keyframes logo-colours{0%,100%{filter:hue-rotate(0deg) saturate(1.35)}25%{filter:hue-rotate(-45deg) saturate(1.6)}50%{filter:hue-rotate(-105deg) saturate(1.7)}75%{filter:hue-rotate(65deg) saturate(1.65)}}
@media(prefers-reduced-motion:reduce){.logo-brand img{animation:none;filter:none}}
@media(max-width:1050px) and (min-width:761px){.logo-brand{width:260px;margin-left:-12px}.nav{gap:15px}}
@media(max-width:760px){.nav{height:112px}.logo-brand{width:250px;max-width:calc(100% - 95px);padding:3px 0;margin-left:-8px}nav{top:112px}}
.contact-ticker{background:#064f40;color:#e9ffb9;overflow:hidden;border-bottom:1px solid #368b65;padding:12px 0;font-weight:700;font-size:16px;letter-spacing:.025em;line-height:1.5}
.ticker-track{display:flex;width:max-content;animation:contact-scroll 42s linear infinite}
.ticker-track span{flex:none;white-space:nowrap;padding-right:80px}
.contact-ticker:hover .ticker-track,.contact-ticker:focus .ticker-track{animation-play-state:paused}
@keyframes contact-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;display:block;width:auto}.ticker-track span{display:block;white-space:normal;padding:0 20px}.ticker-track span+span{display:none}}
body{background:#e0eee7;background-image:radial-gradient(ellipse at 95% 10%,#8ec9ba88,transparent 48%),radial-gradient(ellipse at 0% 45%,#b0d8ca99,transparent 42%)}
header{background:rgba(219,239,229,.94);border-bottom-color:#8ab7a7}
#navigation{font-size:16px;font-weight:800}
#navigation a{animation:nav-colours 12s ease-in-out infinite}
#navigation a:nth-child(2n){animation-delay:-3s}
#navigation a:nth-child(3n){animation-delay:-6s}
@keyframes nav-colours{0%,100%{color:#064d94}25%{color:#00635e}50%{color:#235f20}75%{color:#71319b}}
#navigation .contact-link{border-width:2px}
@media(max-width:1050px) and (min-width:761px){#navigation{font-size:14px;gap:13px}}
@media(prefers-reduced-motion:reduce){#navigation a{animation:none;color:#07534a}}
.mark{background:#07534a;color:#e0f2e8;border-color:#07534a}
.hero{position:relative}
.hero:before{content:'';position:absolute;inset:0 -30px;z-index:-1;background:linear-gradient(115deg,#c7e4d4bb,transparent 62%)}
em{color:#137a67}
.hero-image img{border:1px solid #7cab9a}
.hero-image:after{border-color:#368b77;background:linear-gradient(145deg,#6abca633,#16877022)}
.hero-note{border-top-color:#8db7a6}
.ribbon{background:#0b5b4e;color:#e1f1e8;border-color:#0b5b4e}
.product-list>a{background:rgba(243,250,245,.35)}
.product-list>a:hover{background:#badfce}
.feature{background:linear-gradient(125deg,#a9d2bd,#c8e5d6 55%,#a5d3c5);border-block:1px solid #8fbea8}
.service-line{border-color:#8db6a4}
.news{background:linear-gradient(130deg,#d6eadd,#b6dccc);padding-inline:36px;border:1px solid #96bcaa}
.news-grid article{background:rgba(238,249,240,.48);border-color:#7fae99}
.tag{color:#176952}
.cta{background:linear-gradient(125deg,#064a40,#0b7160 68%,#237e66);border-top:1px solid #378c75}
.consultation{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;text-align:left}
.consultation-photo{border:1px solid #64a68d;overflow:hidden;border-radius:2px}
.consultation-photo img{width:100%;height:360px;object-fit:cover}
.consultation-copy h2{font-size:clamp(40px,4vw,60px)}
.cta .consultation-copy p{margin-left:0;margin-right:0}
@media(max-width:760px){.consultation{grid-template-columns:1fr;gap:32px}.consultation-photo img{height:270px}.consultation-copy h2{font-size:42px}}
.light{background:#d7eddd;color:#064a40}
.light:hover{background:#b9e1c9}
footer{background:#cee4d7;margin-top:0;border-top:1px solid #99bba9}
.footer-grid .brand{font-size:28px;font-weight:800;color:#064f40}
.footer-grid h3{font-size:24px;font-weight:800;letter-spacing:-.025em;color:#064f40}
.footer-grid p,.footer-grid a:not(.brand){font-size:18px;font-weight:600;line-height:1.7;color:#174f40}
.contact-ticker{font-size:19px;font-weight:800;padding:15px 0}
@media(max-width:760px){.footer-grid .brand{font-size:26px}.footer-grid h3{font-size:22px}.footer-grid p,.footer-grid a:not(.brand){font-size:17px}.contact-ticker{font-size:18px;padding:14px 0}}
.bottom{border-color:#98baa8}
.page-head{background:linear-gradient(120deg,#b4dbc4,#d1e9dc);padding-inline:34px;border-color:#8cb9a2}
.detail-layout aside{background:#cfe5d8;padding:20px;border:1px solid #9cbead;align-self:start}
.detail-layout .article{background:rgba(242,249,244,.65);padding:32px;border:1px solid #a6c9b7}
.original-news .article{background:#e2f0e6;padding:24px;border:1px solid #9dc2ac;margin-top:20px}
.button{background:#075c4d}.button:hover{background:#097b62}.button.outline{background:transparent}.button.outline:hover{background:#075c4d}.button.light{background:#d7eddd}.button.light:hover{background:#b9e1c9}
@media(max-width:760px){nav{background:#d8eee1;border-color:#91b8a6}.hero:before{inset:0 -20px}.news{padding-inline:20px}.page-head{padding-inline:20px}.detail-layout .article{padding:22px}.detail-layout aside{padding:15px}}

/* Reversible visual refinement: glass light, project imagery and quiet navigation. */
body{background-color:#d9eee5;background-image:radial-gradient(ellipse at 90% 5%,#69c8bd55,transparent 45%),radial-gradient(ellipse at 5% 40%,#a3dcc566,transparent 45%),linear-gradient(130deg,#e6f4eb 0%,#cee9e1 48%,#d9ede0 100%)}
header{background:rgba(219,239,229,.9);backdrop-filter:blur(20px)}
#navigation a{animation:none;color:#07534a;transition:color .25s,background .25s}
#navigation a:hover{color:#087c72}
#navigation .contact-link{background:#07534a;color:#f0fff5;border-color:#07534a}
#navigation .contact-link:hover{background:#087c72;color:white}
.hero:before{background:linear-gradient(115deg,#a5d9c455,transparent 62%),linear-gradient(155deg,transparent 38%,#ffffff55 39%,transparent 40%,transparent 69%,#ffffff44 70%,transparent 71%)}
.feature{background:radial-gradient(ellipse at 10% 25%,#72c7b055,transparent 55%),linear-gradient(125deg,#addbc9,#d4eadf 55%,#a7d9d0)}
.gallery{grid-template-columns:1.25fr 1fr 1fr;align-items:start;gap:28px}
.gallery figure{overflow:hidden}
.gallery figure:first-child img{height:420px}
.gallery figure:nth-child(2){margin-top:60px}
.gallery figure:nth-child(2) img{height:330px}
.gallery figure:nth-child(3){margin-top:110px}
.gallery figure:nth-child(3) img{height:280px}
.gallery img,.hero-image img,.split figure img,.consultation-photo img{transition:transform .65s ease,filter .65s ease}
.gallery figure:hover img,.consultation-photo:hover img{transform:scale(1.025);filter:brightness(1.04)}
.gallery figcaption{position:relative;background:#d5eae0;padding:16px 10px;border-bottom:1px solid #94bbaa;font-size:14px}
.news{background:linear-gradient(125deg,#c3e7db,#d9eee4 55%,#b7ded6)}
.news-grid article{background:rgba(240,253,246,.56);backdrop-filter:blur(8px);border-color:#93bfae}
.cta{background:radial-gradient(ellipse at 10% 10%,#2a9b8877,transparent 55%),linear-gradient(125deg,#064b40,#087065 68%,#137d64)}
@media(max-width:760px){.gallery{grid-template-columns:1fr;gap:28px}.gallery figure:nth-child(2),.gallery figure:nth-child(3){margin-top:0}.gallery figure:first-child img,.gallery figure:nth-child(2) img,.gallery figure:nth-child(3) img{height:310px}}
@media(prefers-reduced-motion:reduce){.gallery figure:hover img,.consultation-photo:hover img{transform:none}}
/* Gentle rotating movement for the reference photo on the homepage. */
.hero-image{perspective:1200px}
.hero-image img{animation:glass-photo-turn 10s ease-in-out infinite;transform-origin:center;will-change:transform}
@keyframes glass-photo-turn{0%,100%{transform:rotateY(-5deg) rotateZ(-.7deg)}50%{transform:rotateY(5deg) rotateZ(.7deg)}}
.hero-image:hover img{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero-image img{animation:none;transform:none;will-change:auto}}
/* Local stock-image preview with automatic 3D tilt. */
.hero-image{perspective:1100px;transform-style:preserve-3d}
.hero-image img{border-radius:36px 0 36px 0;height:460px;object-position:center;animation:glass-house-3d 12s ease-in-out infinite;box-shadow:12px 18px 30px #064a4022;backface-visibility:hidden}
@keyframes glass-house-3d{0%,100%{transform:rotateY(-7deg) rotateX(2deg) translateY(0)}50%{transform:rotateY(7deg) rotateX(-2deg) translateY(-8px)}}
.hero-image:hover img{animation-play-state:paused}
@media(max-width:760px){.hero-image img{height:320px}}
@media(prefers-reduced-motion:reduce){.hero-image img{animation:none;transform:none;will-change:auto}}

@media(min-width:1181px){#navigation{font-size:14px;gap:16px}.logo-brand{width:300px}}
@media(min-width:761px) and (max-width:1180px){.nav{height:112px}.menu{display:flex;gap:14px;align-items:center;background:none;border:1px solid var(--line);padding:9px 12px;font-size:14px}#navigation{display:none;position:absolute;top:112px;left:0;right:0;background:#d8eee1;border-bottom:1px solid var(--line);padding:16px 28px;flex-direction:column;align-items:stretch;font-size:16px;gap:0}#navigation.open{display:flex}#navigation a{padding:13px}.contact-link{margin-top:10px}}
/* Official company identity: original lettering, mark and colours. */
.logo-brand{background:transparent;padding:12px 0;margin-left:-12px;width:340px;align-items:center}
.logo-brand img{animation:none;filter:none;transform:none;object-fit:contain;height:auto;width:100%;max-height:88px;mix-blend-mode:multiply}
@media(min-width:1181px){.logo-brand{width:320px}}
@media(min-width:761px) and (max-width:1180px){.logo-brand{width:310px;margin-left:0}}
@media(max-width:760px){.logo-brand{width:255px;max-width:calc(100% - 95px);margin-left:0;padding:10px 0}.logo-brand img{max-height:76px}}

/* User-supplied animated Geisler logo. */
.geisler-logo-scene{perspective:1200px;width:100%;max-width:600px;margin:auto;letter-spacing:normal;line-height:normal}
.geisler-logo-orbit{transform-style:preserve-3d;animation:geislerOrbit 7s ease-in-out infinite;filter:drop-shadow(0 10px 16px rgba(0,113,188,.18));will-change:transform}
.geisler-logo-orbit svg{display:block;width:100%;height:auto;overflow:visible}
@keyframes geislerOrbit{0%,100%{transform:rotateX(12deg) rotateY(-18deg) translate3d(-14px,-12px,15px)}25%{transform:rotateX(-14deg) rotateY(-10deg) translate3d(12px,14px,25px)}50%{transform:rotateX(-12deg) rotateY(18deg) translate3d(16px,-10px,10px)}75%{transform:rotateX(14deg) rotateY(12deg) translate3d(-12px,12px,28px)}}
@media(max-width:760px){.geisler-logo-scene{perspective:1400px}.geisler-logo-orbit{animation-name:geislerOrbitMobile}@keyframes geislerOrbitMobile{0%,100%{transform:rotateX(8deg) rotateY(-12deg) translate3d(-3px,-4px,4px)}50%{transform:rotateX(-8deg) rotateY(12deg) translate3d(3px,4px,8px)}}}
@media(prefers-reduced-motion:reduce){.geisler-logo-orbit{animation:none;transform:none;will-change:auto}}
/* Customer information link, including compact navigation on medium screens. */
@media(min-width:1401px){#navigation{font-size:13px;gap:12px}.logo-brand{width:270px}.nav{gap:20px}}
@media(min-width:1181px) and (max-width:1400px){.nav{height:112px}.menu{display:flex;gap:14px;align-items:center;background:none;border:1px solid var(--line);padding:9px 12px;font-size:14px}#navigation{display:none;position:absolute;top:112px;left:0;right:0;background:#d8eee1;border-bottom:1px solid var(--line);padding:16px 28px;flex-direction:column;align-items:stretch;font-size:16px;gap:0}#navigation.open{display:flex}#navigation a{padding:13px}.contact-link{margin-top:10px}}

/* Checked mobile header sizing. */
@media(max-width:760px){.nav{gap:12px}.nav .logo-brand{flex:1;min-width:0;width:auto;max-width:calc(100% - 105px);margin-left:0}.nav .menu{flex:none}.geisler-logo-scene{min-width:0}}

.page-head h1{overflow-wrap:anywhere;hyphens:auto} .hero-carousel .hero-stage{overflow:hidden}
main{overflow-x:clip}
