@font-face{font-family:KT Tektur;src:url(fonts/Tektur-500.ttf?ver=0.1.17) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:KT Tektur;src:url(fonts/Tektur-600.ttf?ver=0.1.17) format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:KT Geologica;src:url(fonts/Geologica-400.ttf?ver=0.1.17) format('truetype');font-weight:400;font-display:swap}
/* Verified Hello Elementor limits ordinary Pages to 1140px. Only our marked Pages expand. */
.kt-service-page #content.site-main{max-width:none;width:100%;margin-inline:0;padding-inline:0}
.kt-service{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--kt-color-surface);color:var(--kt-color-text);font-family:KT Geologica,var(--kt-font-body);font-size:clamp(var(--kt-web-bodyMin),.95rem + .3vw,var(--kt-web-bodyMax));line-height:var(--kt-web-bodyLine)}
.kt-service :where(*){box-sizing:border-box}
.kt-service :where(h1,h2,h3,p,figure,ul){margin:0}
.kt-service h1,.kt-service h2,.kt-service h3{font-family:KT Tektur,var(--kt-font-heading);color:var(--kt-color-paper);text-transform:uppercase;font-weight:var(--kt-font-semibold);line-height:1.15}
.kt-service h1{font-size:clamp(var(--kt-web-h1Min),5vw,var(--kt-web-h1Max));max-width:var(--kt-web-heroTextMax);font-weight:var(--kt-font-semibold)}
.kt-service h2{font-size:clamp(1.5rem,2.8vw,2.2rem);margin-bottom:var(--kt-space-large)}
.kt-service h3{font-size:clamp(1.3rem,2vw,1.6rem);margin-bottom:var(--kt-space-medium)}
.kt-service p+p{margin-top:var(--kt-space-medium)}
.kt-service .kt-container{max-width:1280px;margin-inline:auto;padding-inline:var(--kt-web-gutterDesktop)}
.kt-service .kt-hero{padding-block:clamp(80px,10vw,144px);background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.48)),url(hero.jpg) center/cover}
.kt-service .kt-hero p{max-width:52ch;margin-block:var(--kt-space-large)}
.kt-service .kt-actions{display:flex;flex-wrap:wrap;gap:var(--kt-space-medium);padding:4px}
.kt-service .kt-button{--kt-button-fill:var(--kt-color-red);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:54px;min-width:220px;padding:var(--kt-web-buttonPadding) 24px;color:var(--kt-color-paper);background:transparent;border:0;border-radius:var(--kt-web-buttonRadius);font-family:KT Tektur,var(--kt-font-heading);font-size:clamp(var(--kt-web-buttonMin),1.5vw,var(--kt-web-buttonMax));line-height:var(--kt-web-buttonLine);font-weight:500;text-decoration:none}
/* Clip only the decorative background, so the keyboard focus outline stays intact. */
.kt-service .kt-button::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--kt-button-fill);clip-path:polygon(var(--kt-web-cutSmall) 0,100% 0,100% calc(100% - var(--kt-web-cutSmall)),calc(100% - var(--kt-web-cutSmall)) 100%,0 100%,0 var(--kt-web-cutSmall));pointer-events:none}
.kt-service .kt-button:hover{--kt-button-fill:var(--kt-color-redHover);color:var(--kt-color-paper)}
.kt-service .kt-button-blue{--kt-button-fill:var(--kt-color-blue)}
.kt-service .kt-button-blue:hover{--kt-button-fill:var(--kt-color-blueHover)}
.kt-service a:focus-visible,.kt-service summary:focus-visible{outline:3px solid var(--kt-color-paper);outline-offset:4px}
.kt-service .kt-section{padding-block:var(--kt-space-section)}
.kt-service .kt-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:var(--kt-space-large)}
.kt-service .kt-panel{position:relative;isolation:isolate;padding:var(--kt-space-large)}
.kt-service .kt-panel::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--kt-card-base);clip-path:polygon(var(--kt-web-cutMedium) 0,100% 0,100% calc(100% - var(--kt-web-cutMedium)),calc(100% - var(--kt-web-cutMedium)) 100%,0 100%,0 var(--kt-web-cutMedium));pointer-events:none}
.kt-service .kt-panel ul{padding-left:1.2em}
.kt-service .kt-panel li+li{margin-top:var(--kt-space-small)}
.kt-service .kt-photo{width:100%;height:100%;min-height:300px;object-fit:cover;display:block;clip-path:polygon(var(--kt-web-cutMedium) 0,100% 0,100% calc(100% - var(--kt-web-cutMedium)),calc(100% - var(--kt-web-cutMedium)) 100%,0 100%,0 var(--kt-web-cutMedium))}

.kt-service details{border-bottom:1px solid var(--kt-color-text);padding-block:var(--kt-space-medium)}
.kt-service summary{font-family:KT Tektur,var(--kt-font-heading);font-size:1.3rem;color:var(--kt-color-paper);cursor:pointer;list-style-position:outside;margin-inline:1em}
.kt-service details p{margin-top:var(--kt-space-medium);max-width:65ch}
.kt-service .kt-form{max-width:840px}
@media(max-width:767px){.kt-service .kt-container{padding-inline:var(--kt-web-gutterMobile)}.kt-service .kt-grid{grid-template-columns:1fr}.kt-service .kt-actions{display:grid}.kt-service .kt-button{width:100%;min-width:0}.kt-service .kt-section{padding-block:48px}.kt-service .kt-panel{padding:var(--kt-space-medium)}.kt-service .kt-hero{padding-block:60px}.kt-service .kt-photo{max-height:420px}}


/* Shared service-page section contract. Content may grow beyond one viewport. */
.kt-service>section{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-block:clamp(80px,8vw,120px);background-color:var(--kt-color-surface);scroll-margin-top:80px;--kt-divider-height:36px;--kt-divider-bottom:var(--kt-color-red);--kt-divider:polygon(0 50%,33.38% 2%,64.31% 37%,76.19% 28%,100% 50%,68% 96%,39% 64%,21% 82%,0 50%)}
.kt-service>section:nth-child(even){background-color:var(--kt-color-card);--kt-divider-bottom:var(--kt-color-blue)}
.kt-service>section>.kt-container{width:100%;position:relative;z-index:1}
/* First silhouette measured on homepage; other silhouettes are brand variants. */
.kt-service>section:nth-child(2){--kt-divider:polygon(0 50%,12% 33%,28% 2%,57% 39%,83% 14%,100% 50%,72% 97%,46% 63%,17% 85%,0 50%)}
.kt-service>section:nth-child(3){--kt-divider:polygon(0 50%,17% 11%,51% 36%,72% 5%,100% 50%,86% 73%,58% 97%,32% 66%,0 50%)}
.kt-service>section:nth-child(4){--kt-divider:polygon(0 50%,19% 15%,39% 40%,63% 2%,89% 36%,100% 50%,76% 85%,49% 62%,23% 96%,0 50%)}
.kt-service>section:nth-child(5){--kt-divider:polygon(0 50%,24% 3%,45% 41%,81% 8%,100% 50%,69% 94%,41% 67%,16% 88%,0 50%)}
.kt-service>section::before{content:none}
.kt-service>section::after{content:"";position:absolute;z-index:2;left:0;bottom:calc(var(--kt-divider-height) / -2);width:100%;height:var(--kt-divider-height);background:var(--kt-divider-bottom);clip-path:var(--kt-divider);pointer-events:none}
.kt-service>section:last-child::after{content:none}
.kt-service .kt-section-heading{display:block;background:transparent;padding:0;--kt-heading-row-gap:10px;margin:0 0 24px;max-width:100%;font-size:clamp(var(--kt-web-h1Min),5vw,var(--kt-web-h1Max));font-weight:var(--kt-font-semibold);line-height:calc(1.3em + 6px + var(--kt-heading-row-gap));overflow-wrap:break-word}
.kt-service .kt-heading-text{display:inline;background:var(--kt-color-paper);color:var(--kt-color-ink);padding:3px 10px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
@media(min-width:1024px){.kt-service .kt-section-heading{max-width:70%}}
.kt-service .kt-subtitle{font-family:KT Tektur,var(--kt-font-heading);font-size:clamp(1.15rem,2vw,1.6rem);font-weight:500;text-transform:uppercase;line-height:1.35;color:var(--kt-color-paper);max-width:65ch;margin:0 0 40px}
.kt-service .kt-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.kt-service .kt-step{border-top:3px solid var(--kt-color-red);padding-block:24px}
.kt-service .kt-step:nth-child(even){border-color:var(--kt-color-blue)}
.kt-service .kt-step-number{font-family:KT Tektur,var(--kt-font-heading);font-size:2rem;color:var(--kt-color-paper);margin-bottom:20px}
.kt-service .kt-panel{background:transparent}
@media(max-width:767px){.kt-service>section{min-height:0;display:block;padding-block:48px;--kt-divider-height:18px}.kt-service>section.kt-hero{min-height:100vh;min-height:100svh;display:flex;padding-block:120px 64px}.kt-service .kt-section-heading{--kt-heading-row-gap:5px}.kt-service .kt-steps{grid-template-columns:1fr}.kt-service .kt-subtitle{margin-bottom:30px}}

/* On our mobile Pages the existing clipped menu overlays the hero background. */
@media(max-width:767px){.kt-service-page header.elementor-location-header{height:0;position:relative;z-index:100}}

/* The pilot's script adds these classes only after it has prepared each target.
   Plain HTML, unsupported browsers and reduced-motion users see static content. */
.kt-service.kt-motion-ready .kt-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.kt-service.kt-motion-ready .kt-reveal.kt-in-view{opacity:1;transform:none}
.kt-service.kt-motion-ready .kt-heading-text{background:transparent}
.kt-service.kt-motion-ready .kt-motion-word{display:inline-block;vertical-align:baseline;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.3;padding:3px .3em;margin:-3px -.3em;background:var(--kt-color-paper);clip-path:inset(0 100% 0 0)}
.kt-service.kt-motion-ready .kt-section-heading.kt-in-view .kt-motion-word{animation:kt-backing-reveal calc(var(--kt-word-length) * 34ms + 100ms) steps(var(--kt-word-length),end) both;animation-delay:calc(var(--kt-word-start) * 34ms)}
.kt-service.kt-motion-ready .kt-section-heading.kt-in-view .kt-word-revealed{clip-path:none;animation:none}
@keyframes kt-backing-reveal{to{clip-path:inset(0 0 0 0)}}
.kt-service.kt-motion-ready .kt-hero h1,.kt-service.kt-motion-ready .kt-hero p{opacity:0;transform:translateX(-28px)}
.kt-service.kt-motion-ready .kt-hero.kt-in-view h1,.kt-service.kt-motion-ready .kt-hero.kt-in-view p{animation:kt-hero-text-in .9s cubic-bezier(.2,.7,.2,1) .12s both}
.kt-service.kt-motion-ready .kt-hero.kt-in-view p{animation-delay:.28s}
.kt-service.kt-motion-ready .kt-hero .kt-button{opacity:0;transform:translateY(20px) scale(.96)}
.kt-service.kt-motion-ready .kt-hero.kt-in-view .kt-button{animation:kt-hero-button-in .7s cubic-bezier(.2,.7,.2,1) .48s both}
.kt-service.kt-motion-ready .kt-hero.kt-in-view .kt-button:nth-child(2){animation-delay:.62s}
@keyframes kt-hero-text-in{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes kt-hero-button-in{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.kt-service.kt-motion-ready .kt-reveal,.kt-service.kt-motion-ready .kt-motion-letter,.kt-service.kt-motion-ready .kt-hero h1,.kt-service.kt-motion-ready .kt-hero p,.kt-service.kt-motion-ready .kt-hero .kt-button{opacity:1;transform:none;clip-path:none;transition:none;animation:none}.kt-service.kt-motion-ready .kt-motion-word{clip-path:none;animation:none}}

/* Approved 2026-10-12: shared options, segmented cards, attached ribbons and tile groups. */
.kt-service ul li::marker{color:var(--kt-color-red)}
.kt-service .kt-options{display:flex;flex-wrap:wrap;gap:.25em .6em;padding:0;list-style:none;color:var(--kt-color-paper);font-family:KT Tektur,var(--kt-font-heading);font-weight:500}
.kt-service .kt-options li{display:flex;align-items:baseline;gap:.35em;min-width:0;max-width:100%;overflow-wrap:anywhere}
.kt-service .kt-options li::before{content:"";flex:0 0 .45em;width:.45em;height:.45em;border-radius:50%;background:var(--kt-color-red)}
.kt-service .kt-card{--kt-cut:var(--kt-web-cutMedium);background:var(--kt-card-base);clip-path:polygon(var(--kt-cut) 0,100% 0,100% calc(100% - var(--kt-cut)),calc(100% - var(--kt-cut)) 100%,0 100%,0 var(--kt-cut))}
.kt-service .kt-card-part{padding:30px;background:var(--kt-card-base)}
.kt-service .kt-card-part-raised{background:var(--kt-color-panelRaised)}
.kt-service .kt-card-part-soft{background:var(--kt-color-panel)}
.kt-service .kt-inset+.kt-inset{margin-top:24px}
.kt-service .kt-ribbon{--kt-ribbon-fill:var(--kt-color-blue);position:relative;isolation:isolate;display:table;max-width:100%;margin:0 auto 0 0;padding:14px 12% 14px 20px;font-size:clamp(1.1rem,2vw,1.6rem);overflow-wrap:anywhere}
.kt-service .kt-ribbon::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--kt-ribbon-fill);clip-path:polygon(0 0,calc(100% - var(--kt-shape-ribbonRightInset)*1%) 0,100% 100%,0 100%);pointer-events:none}
.kt-service .kt-ribbon-red{--kt-ribbon-fill:var(--kt-color-red)}
.kt-service .kt-inset-body{display:flow-root;background:var(--kt-color-panel);padding:20px;color:var(--kt-color-paper)}
.kt-service .kt-signature{position:relative;isolation:isolate;width:fit-content;max-width:calc(100% + 40px);margin:24px auto -20px -20px;padding:20px 12% 20px 20px;color:var(--kt-color-paper);overflow-wrap:anywhere}
.kt-service .kt-signature::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--kt-color-signature);clip-path:polygon(0 0,calc(100% - var(--kt-shape-ribbonRightInset)*1%) 0,100% 100%,0 100%);pointer-events:none}
.kt-service .kt-signature strong,.kt-service .kt-signature span{display:block;font-family:KT Tektur,var(--kt-font-heading);text-transform:uppercase}
.kt-service .kt-signature span{font-size:.8em;color:var(--kt-color-text);margin-top:4px}
.kt-service .kt-tiles{--kt-cut:var(--kt-web-cutLarge);display:grid;grid-template-columns:1fr 1.5fr;gap:20px;clip-path:polygon(var(--kt-cut) 0,100% 0,100% calc(100% - var(--kt-cut)),calc(100% - var(--kt-cut)) 100%,0 100%,0 var(--kt-cut))}
.kt-service .kt-tile{min-width:0;padding:50px 30px;background:var(--kt-card-base)}
.kt-service .kt-tile-raised{background:var(--kt-color-panelRaised)}
@media(max-width:767px){.kt-service .kt-tiles{grid-template-columns:1fr;--kt-cut:var(--kt-web-cutSmall)}.kt-service .kt-tile{padding:30px 24px}.kt-service .kt-card-part{padding:30px 24px}.kt-service .kt-ribbon{padding-left:16px}.kt-service .kt-inset-body{padding:16px}.kt-service .kt-signature{max-width:calc(100% + 32px);margin-left:-16px;margin-bottom:-16px;padding-left:16px}}

/* Card photos share the outer contour; never inset or clip their internal seam. */
.kt-service .kt-card-media{margin:0;padding:0;min-width:0;overflow:hidden;aspect-ratio:1.6}
.kt-service .kt-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;clip-path:none}
.kt-service .kt-card-list{display:grid;gap:40px;margin-top:40px}
.kt-service .kt-card-list>.kt-card{--kt-card-accent:var(--kt-color-blue);--kt-card-accent-hover:var(--kt-color-blueHover)}
.kt-service .kt-card-list>.kt-card:nth-child(even){--kt-card-accent:var(--kt-color-red);--kt-card-accent-hover:var(--kt-color-redHover)}
.kt-service .kt-card-list>.kt-card .kt-button{--kt-button-fill:var(--kt-card-accent)}
.kt-service .kt-card-list>.kt-card .kt-button:hover{--kt-button-fill:var(--kt-card-accent-hover)}
.kt-service .kt-service-card{display:grid;grid-template-columns:1fr 1fr;gap:0}
.kt-service .kt-service-card-copy{padding:40px;min-width:0}
.kt-service .kt-card-rule{height:3px;background:var(--kt-card-accent);margin-block:30px}
.kt-service .kt-service-card-copy h3{margin-bottom:30px}
.kt-service .kt-service-card .kt-card-media{position:relative;aspect-ratio:auto;min-height:320px}
.kt-service .kt-service-card .kt-card-media img{position:absolute;inset:0;min-height:320px}
@media(max-width:767px){.kt-service .kt-service-card{grid-template-columns:1fr}.kt-service .kt-service-card-copy{padding:30px 24px}.kt-service .kt-service-card .kt-card-media{aspect-ratio:1.3;min-height:0}.kt-service .kt-service-card .kt-card-media img{min-height:0}.kt-service .kt-service-card .kt-button{min-width:0;max-width:100%;width:100%}}

/* Functional feedback is shared; static cards have no hover motion. */
.kt-service .kt-button{transition:color calc(var(--kt-motion-feedbackMs)*1ms) ease,transform calc(var(--kt-motion-feedbackMs)*1ms) ease}
.kt-service .kt-button::before{transition:background-color calc(var(--kt-motion-feedbackMs)*1ms) ease}
@media(hover:hover){.kt-service .kt-button:hover{transform:translateY(-2px)}}
.kt-service .kt-button:active{transform:translateY(0) scale(.98)}
.kt-service summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;margin-inline:0;padding:12px 16px;transition:background-color calc(var(--kt-motion-feedbackMs)*1ms) ease,color calc(var(--kt-motion-feedbackMs)*1ms) ease}
.kt-service summary::-webkit-details-marker{display:none}
.kt-service summary::after{content:"";flex:0 0 10px;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform calc(var(--kt-motion-feedbackMs)*1ms) ease}
.kt-service details[open]>summary::after{transform:rotate(225deg)}
.kt-service summary[aria-expanded=false]::after{transform:rotate(45deg)}
.kt-service summary[aria-expanded=true]::after{transform:rotate(225deg)}
@media(hover:hover){.kt-service summary:hover{background:var(--kt-color-panel);color:var(--kt-color-paper)}}
.kt-service summary:focus-visible{background:var(--kt-color-panel);outline-offset:-3px}
.kt-service .kt-details-content{display:flow-root;padding-inline:16px}
.kt-service .kt-details-animating{overflow:hidden;box-sizing:border-box}
@media(prefers-reduced-motion:reduce){.kt-service .kt-button,.kt-service .kt-button::before,.kt-service summary,.kt-service summary::after{transition:none}.kt-service .kt-button:hover,.kt-service .kt-button:active{transform:none}}

/* Section/card relationship: the other main surface is the card's base. */
.kt-service{--kt-section-surface:var(--kt-color-surface);--kt-card-base:var(--kt-color-card)}
.kt-service>section{--kt-section-surface:var(--kt-color-surface);--kt-card-base:var(--kt-color-card)}
.kt-service>section:nth-child(even){--kt-section-surface:var(--kt-color-card);--kt-card-base:var(--kt-color-surface)}
.kt-service section.kt-surface-dark,.kt-service .kt-surface-dark{--kt-section-surface:var(--kt-color-surface);--kt-card-base:var(--kt-color-card);background:var(--kt-section-surface)}
.kt-service section.kt-surface-grey,.kt-service .kt-surface-grey{--kt-section-surface:var(--kt-color-card);--kt-card-base:var(--kt-color-surface);background:var(--kt-section-surface)}
