@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&display=swap');
:root{--cream:#f4f1ea;--olive:#6f735b;--muted:#858775;--dark:#3c3d35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--olive);font-family:'DM Sans',sans-serif;font-size:18px;line-height:1.3}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0;font-weight:400}h1{font-size:40px;line-height:1}h2{font-size:30px;line-height:1.1}h3{font-size:23px;line-height:1.2}header{height:100px;background:var(--cream);position:sticky;top:0;z-index:10;box-shadow:0 2px 5px #0003}.head{max-width:1016px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{width:148px;height:72px;object-fit:contain}.head nav{display:flex;gap:40px;font-size:16px;font-weight:700}.head-contact{font-size:16px;line-height:24px;font-weight:600;color:var(--muted);display:flex;flex-direction:column;text-align:right}.menu{display:none}.button{background:var(--olive);color:var(--cream);display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:0;border-radius:7px;padding:4px 28px;font-size:16px;cursor:pointer;transition:background .2s}.button:hover{background:#8a935b}a:focus-visible,button:focus-visible{outline:2px solid #8a935b;outline-offset:5px}.hero{height:934px;position:relative;text-align:center;color:var(--cream);overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:#0006}.hero h1{position:absolute;top:199px;left:20px;right:20px}.hero-bottom{position:absolute;top:640px;left:20px;right:20px}.hero-bottom p{font-size:20px;line-height:26px;margin-bottom:23px}.hero-bottom .button{width:251px}.down{position:absolute;bottom:35px;left:calc(50% - 24px);font-size:72px;color:var(--muted);line-height:1}.section-heading{text-align:center;max-width:800px;margin:0 auto 62px}.section-heading>p{font-size:20px;line-height:26px;margin-top:14px;color:var(--muted)}section:not(.hero){padding-left:24px;padding-right:24px}.category-section{padding-top:118px;padding-bottom:103px;text-align:center;min-height:1412px}.categories{max-width:980px;margin:auto}.categories article{display:grid;grid-template-columns:576px 1fr;gap:20px;text-align:left;margin-bottom:27px;min-height:300px}.categories article img{height:300px;width:576px;object-fit:cover;border-radius:5px;object-position:left bottom}.categories article>div{max-width:271px}.categories h3{margin-bottom:4px}.categories article:nth-child(2){grid-template-columns:384px 576px}.categories article:nth-child(2) img{grid-column:2;grid-row:1}.categories article:nth-child(2)>div{grid-column:1;grid-row:1;text-align:right;justify-self:end}.category-section>.button{margin-top:40px}.process-section{padding-top:120px;padding-bottom:140px;min-height:655px}.steps{max-width:884px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:43px 90px}.steps article{display:flex;gap:12px;min-width:0}.number{font-size:67px;line-height:87px;min-width:97px}.steps article h3{margin-bottom:10px}.steps article p{max-width:283px}.projects-section{padding-top:89px;padding-bottom:105px;text-align:center;min-height:801px}.project-grid{max-width:952px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:46px;text-align:left}.project-card h3{min-height:55px;margin-bottom:12px}.project-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px;transition:filter .2s}.project-card:hover img{filter:brightness(.92)}.project-card p{margin-top:5px}.projects-section>.button{margin-top:62px}.why-section{padding-top:94px;padding-bottom:94px;min-height:658px}.benefits{max-width:926px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:55px}.benefits h3{min-height:56px;margin-bottom:24px}.assurances{max-width:980px;margin:75px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:30px}.assurances p{background:var(--olive);border-radius:5px;text-align:center;color:var(--cream);font-size:20px;padding:34px 20px;min-height:120px}.quotes-section{padding-top:88px;padding-bottom:120px;min-height:577px}.quotes{max-width:810px;margin:120px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:70px}blockquote{margin:0;background:#e9e6dc;padding:25px 22px;border-radius:5px;font-size:14px;line-height:1.3;font-weight:300}blockquote cite{display:block;font-size:16px;font-style:normal;margin-top:38px}.contact-section{padding-top:91px;padding-bottom:190px;min-height:1046px}form{max-width:686px;margin:90px auto 0;font-size:16px}label{display:block}.fields{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px}.fields label:last-child{grid-column:1/-1}input,textarea{display:block;width:100%;border:1px solid var(--olive);background:transparent;color:var(--olive);border-radius:0;padding:10px;margin-top:9px}input{height:46px}textarea{resize:vertical}form>label{margin-top:25px}form>.button{display:flex;width:100%;margin-top:25px;height:44px}.form-note{margin-top:14px;font-size:14px}.contact-links{display:flex;justify-content:center;gap:50px;font-size:16px;margin-top:55px}footer{background:var(--olive);color:var(--cream);padding:40px 24px 25px;font-size:16px;min-height:285px}.foot{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:70px}.foot>div>a{display:block;line-height:24px}.foot nav{justify-self:end;display:flex;flex-direction:column;gap:24px}.footer-logo{width:183px;height:87px;object-fit:contain}.social{display:flex;gap:7px;margin-top:20px}.social img{width:24px;height:24px}.copyright{text-align:center;font-size:10px;margin-top:75px}.portfolio-section{padding-top:90px;padding-bottom:100px;text-align:center}.portfolio-grid{max-width:980px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:55px 66px;text-align:left}.portfolio-grid .project-card{display:flex;flex-direction:column}.portfolio-grid h3{order:1;margin:15px 0 0;min-height:28px;font-size:20px}.portfolio-grid p{order:2}.portfolio-grid img{aspect-ratio:457/257}.portfolio-section>.button{margin-top:70px}.project-detail{padding-top:85px;padding-bottom:100px;max-width:1030px;margin:auto}.project-detail>h1{font-size:30px;margin-bottom:50px}.detail-layout{display:grid;grid-template-columns:686px 1fr;gap:40px}.gallery{display:grid;gap:24px}.gallery-image{padding:0;border:0;background:transparent;cursor:zoom-in}.gallery-image img{width:100%;border-radius:5px}.specs p{margin-bottom:13px}.project-description{max-width:686px;margin-top:40px;line-height:1.55}.project-description p{margin-bottom:15px}.project-detail>.button{margin-top:40px}dialog{border:0;padding:45px 20px 20px;background:var(--cream);max-width:94vw;max-height:95vh;color:var(--olive)}dialog::backdrop{background:#000b}dialog img{max-height:78vh;object-fit:contain}dialog button{position:absolute;right:12px;top:4px;border:0;background:transparent;font-size:32px;cursor:pointer}
@media(max-width:1100px){.head{padding:0 24px}.categories article{grid-template-columns:58% 1fr}.categories article:nth-child(2){grid-template-columns:1fr 58%}.categories article img{width:100%}.steps{gap:43px}.benefits{gap:30px}.detail-layout{grid-template-columns:68% 1fr}.head-contact{font-size:14px}.head nav{gap:24px}}
@media(max-width:700px){header{height:86px}.head{padding:0 22px;gap:15px}.logo{width:124px;height:60px}.head-contact{display:none}.menu{display:block;background:transparent;border:0;color:var(--olive);font-size:28px}.head nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--cream);padding:25px;box-shadow:0 4px 5px #0002;flex-direction:column}.head nav.open{display:flex}.hero{height:690px}.hero h1{top:150px;font-size:32px;line-height:1.15;max-width:330px;margin:auto}.hero-bottom{top:440px}.hero-bottom p{font-size:18px;line-height:1.4;max-width:320px;margin:0 auto 25px}.hero-image{object-position:center}h2{font-size:28px}h3{font-size:23px}.section-heading{margin-bottom:40px}.section-heading>p{font-size:18px;line-height:1.4}section:not(.hero){padding:65px 22px;min-height:0}.categories article,.categories article:nth-child(2){display:flex;flex-direction:column;gap:18px;margin-bottom:45px;min-height:0}.categories article:nth-child(2) img{order:0}.categories article:nth-child(2)>div{order:1;text-align:left}.categories article img{width:100%;height:auto;aspect-ratio:576/300}.categories article>div{max-width:none}.category-section>.button{margin-top:0}.steps{grid-template-columns:1fr;gap:30px}.number{font-size:56px;min-width:80px;line-height:1.1}.steps article p{max-width:none}.project-grid,.portfolio-grid{grid-template-columns:1fr;gap:38px}.project-card h3{min-height:0}.project-grid .project-card img{aspect-ratio:1}.projects-section>.button{margin-top:40px}.benefits{grid-template-columns:1fr;gap:32px}.benefits h3{min-height:0;margin-bottom:10px}.assurances{margin-top:35px;grid-template-columns:1fr;gap:16px}.quotes{margin-top:40px;grid-template-columns:1fr;gap:20px}blockquote{font-size:14px;padding:28px}blockquote cite{margin-top:25px}form{margin-top:35px}.fields{grid-template-columns:1fr;gap:22px}.contact-links{gap:20px;flex-wrap:wrap;margin-top:35px}.foot{grid-template-columns:1fr;gap:35px;text-align:center}.foot nav{justify-self:center;flex-direction:row;gap:24px}.footer-logo{margin:auto}.social{justify-content:center}.copyright{margin-top:45px}.detail-layout{grid-template-columns:1fr;gap:28px}.project-detail>h1{line-height:1.2;margin-bottom:30px}.project-description{margin-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Verified original EKKE surfaces and vector graphics. */
:root{--dark:#3f403a;--accent:#8a935b}
.category-section,.projects-section,.quotes-section,.portfolio-section,.project-detail{background:var(--cream)}
.section-heading>p{color:var(--olive)}
.process-section,.why-section,.contact-section{background:var(--dark);color:var(--cream)}
.process-section .section-heading>p,.why-section .section-heading>p,.contact-section .section-heading>p{color:var(--cream)}
.number{color:var(--accent)}
footer{background:var(--dark)}
.assurances p{background:transparent;border-radius:0;display:flex;justify-content:center;align-items:center;gap:16px;text-align:left;padding:0;min-height:100px}
.assurance-icon{width:71px;height:71px;flex:none;object-fit:contain}
.quotes{max-width:808px;gap:44px;margin-top:90px}
blockquote{background:transparent;border:3px solid var(--accent);border-radius:0;min-height:273px;text-align:center;padding:30px 20px 35px}
blockquote>p{font-style:italic}
.quote-icon{width:40px;height:37px;object-fit:contain;margin:0 auto 36px}
blockquote cite{margin-top:38px}
.contact-section input,.contact-section textarea{color:var(--cream);border-color:rgba(138,147,91,.6);border-radius:1px}
.contact-section input{height:39px}
.fields{grid-template-columns:1fr;gap:18px}
form{max-width:673px}
.down{width:52px;height:34px;left:calc(50% - 26px);bottom:75px;font-size:0}
.down img{width:52px;height:34px}
@media(max-width:700px){.quotes{gap:20px;margin-top:40px}blockquote{min-height:0}.quote-icon{margin-bottom:28px}.assurances p{justify-content:flex-start;padding:12px 20px;min-height:95px}.assurance-icon{width:60px;height:60px}.down{bottom:35px}}
/* Kāpēc EKKE: original heading weight, divider lines and mobile spacing. */
.why-section h2,.benefits h3{font-weight:600}
.benefits h3{margin-bottom:5px}
.benefits h3::after{content:"";display:block;width:100%;height:3px;background:var(--accent);margin-top:5px;margin-bottom:5px}
@media(max-width:700px){
 section.why-section{padding:60px 20px 20px}
 .why-section .section-heading{margin-bottom:20px}
 .why-section h2{font-size:21px;line-height:1.1}
 .why-section .section-heading>p{font-size:16px;line-height:1.3;margin-top:10px}
 .why-section .benefits{display:grid;grid-template-columns:1fr;gap:0}
 .why-section .benefits article{padding:20px 0}
 .why-section .benefits article:last-child{padding-bottom:30px}
 .why-section .benefits h3{font-size:16px;line-height:1.2;min-height:0;margin-bottom:5px}
 .why-section .benefits h3::after{margin-top:5px;margin-bottom:5px}
 .why-section .benefits article>p{font-size:14px;line-height:1.3}
 .why-section .assurances{margin-top:10px;grid-template-columns:1fr;gap:0}
 .why-section .assurances p{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:20px 0;font-size:17px;line-height:1.3;min-height:0}
 .why-section .assurance-icon{width:60px;height:60px}
 .why-section .assurances p:last-child .assurance-icon{height:53px}
}
/* Desktop composition matched to the two supplied reference captures. */
.process-section h2,.process-section h3,.process-section .number{font-weight:600}
.process-section .steps article{border-bottom:3px solid var(--accent);padding-bottom:10px}
@media(min-width:701px){
 .process-section{padding-top:80px;padding-bottom:68px;min-height:0}
 .process-section .section-heading{margin-bottom:56px}
 .process-section .steps{max-width:884px;column-gap:98px;row-gap:32px}
 .process-section .steps article{min-height:98px;gap:12px}
 .process-section .number{min-width:97px;font-size:67px;line-height:87px}
 .process-section .steps h3{font-size:23px;line-height:1.2;margin-bottom:10px}
 .process-section .steps p{font-size:18px;line-height:1.3;max-width:283px}
 .why-section{padding-top:56px;padding-bottom:52px;min-height:0}
 .why-section .section-heading{margin-bottom:57px}
 .why-section .benefits{max-width:926px;grid-template-columns:repeat(4,minmax(0,1fr));gap:55px}
 .why-section .benefits h3{font-size:23px;line-height:1.2;min-height:0;margin-bottom:12px;padding-bottom:12px;border-bottom:3px solid var(--accent)}
 .why-section .benefits h3::after{display:none}
 .why-section .benefits p{font-size:18px;line-height:1.3}
 .why-section .assurances{max-width:980px;margin-top:112px;gap:30px}
 .why-section .assurances p{font-size:20px;line-height:26px;min-height:100px;gap:16px}
 .why-section .assurance-icon{width:71px;height:71px}
}
@media(min-width:701px) and (max-width:950px){
 .process-section .steps{column-gap:40px}
 .process-section .number{min-width:75px;font-size:58px}
 .why-section .benefits{gap:28px}
 .why-section .benefits h3{font-size:20px;min-height:78px}
}
@media(max-width:700px){
 .process-section .steps article{padding-bottom:18px}
 .process-section .steps h3{font-weight:600}
}

.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}button:disabled{opacity:.65;cursor:wait}

/* EKKE motion study: transform/opacity only; original layout and surfaces retained. */
@media (prefers-reduced-motion: no-preference) {
 .motion-reveal { transition: opacity 620ms ease var(--motion-delay, 0ms), translate 620ms cubic-bezier(.22,.61,.36,1) var(--motion-delay, 0ms); }
 .motion-pending { opacity: 0; translate: 0 20px; }
 .hero h1 { animation: ekke-arrive 850ms cubic-bezier(.22,.61,.36,1) both; }
 .hero-bottom { animation: ekke-arrive 850ms cubic-bezier(.22,.61,.36,1) 140ms both; }
 .button { transition: background 200ms ease, transform 220ms ease, box-shadow 220ms ease; }
 .button:active { transform: translateY(0); }
 .head nav a { position: relative; }
 .head nav a::after { content: ''; position: absolute; bottom: -5px; left: 0; right: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 220ms ease; }
 .head nav a:focus-visible::after { transform: scaleX(1); }
 .project-card img { transition: filter 260ms ease, transform 360ms ease, box-shadow 360ms ease; }
 .gallery-image { transition: opacity 620ms ease, translate 620ms ease, filter 260ms ease; }
 dialog[open] { animation: ekke-arrive 220ms ease both; }
 @media (hover: hover) and (pointer: fine) {
  .button:hover { transform: translateY(-2px); box-shadow: 0 5px 12px #0002; }
  .head nav a:hover::after { transform: scaleX(1); }
  .project-card:hover img { transform: translateY(-4px); box-shadow: 0 8px 18px #0002; }
  .gallery-image:hover { filter: brightness(.96); }
 }
 @media (max-width:700px) {
  .motion-pending { translate: 0 12px; }
  .motion-reveal { transition-duration: 480ms; transition-delay: 0ms; }
  .head nav.open { animation: ekke-arrive 180ms ease both; }
 }
}
@keyframes ekke-arrive { from { opacity:0; translate:0 12px; } to { opacity:1; translate:0 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } .motion-pending { opacity:1; translate:none; } }
@media print { .motion-pending { opacity:1; translate:none; } }
