@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-sr.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:"Manrope Fallback";src:local("Arial"),local("ArialMT"),local("Liberation Sans"),local("Arimo");font-weight:200 599;size-adjust:102.24%;ascent-override:104.27%;descent-override:29.34%;line-gap-override:0%}
@font-face{font-family:"Manrope Fallback";src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Arimo Bold");font-weight:600 800;size-adjust:100.36%;ascent-override:106.22%;descent-override:29.89%;line-gap-override:0%}
:root{--bg:#171713;--deep:#10110f;--ink:#f5f1e7;--muted:#b8b6ad;--gold:#b58a3a;--gold-light:#d2af6b;--line:#3b3b32;--light:#f5f1e7;--light-ink:#24251e;--light-muted:#5e6054;--radius:3px;--wrap:1280px;--z-header:20;--z-dock:30;--z-dialog:40;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,"Manrope Fallback",Arial,sans-serif;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
::selection{background:var(--gold-light);color:var(--deep)}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--deep)}::-webkit-scrollbar-thumb{background:#5a594b;border:2px solid var(--deep);border-radius:6px}
a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button,summary{touch-action:manipulation}
img,svg,video{display:block;max-width:100%}img{height:auto}figure,p{margin:0}p+p{margin-top:1.1em}ul,ol{padding:0;margin:0}h1,h2,h3{font-weight:600;line-height:1.13;letter-spacing:-.035em;text-wrap:balance;margin:0}h1{font-size:clamp(2.65rem,5.1vw,5.5rem)}h2{font-size:clamp(2rem,3.5vw,3.5rem)}h3{font-size:clamp(1.35rem,2vw,1.8rem)}h1 em{font-style:normal;color:var(--gold-light)}p{max-width:66ch;color:var(--muted)}:focus-visible{outline:2px solid var(--gold-light);outline-offset:6px}main:focus{outline:none}summary:focus-visible{outline-offset:-3px}.section--light :focus-visible{outline-color:#805e20}
.wrap{width:min(var(--wrap),calc(100% - 96px));margin-inline:auto}.section{padding-block:clamp(72px,8vw,128px)}.section--light{--ink:var(--light-ink);--muted:var(--light-muted);--line:#d5d1c5;--gold-light:#815d20;background:var(--light);color:var(--ink)}.section-label{display:block;font-size:13px;letter-spacing:.04em;color:var(--gold-light);margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:56px}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:380px}.section-heading .text-link{margin-top:22px}.icon{width:22px;height:22px;flex:0 0 22px}.text-link{display:inline-flex;align-items:center;gap:20px;padding-block:10px;border-bottom:1px solid currentColor;font-weight:600;font-size:14px}.text-link .icon{transition:transform .25s var(--ease)}.text-link:hover .icon{transform:translateX(4px)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;z-index:60;background:var(--gold-light);color:var(--deep);padding:14px 22px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.topbar{background:var(--deep);border-bottom:1px solid #2b2c25;font-size:12px;color:#b9b9b0}.topbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:42px;gap:12px}.topbar-inner>span{display:flex;align-items:center;gap:8px}.topbar .icon{width:14px;height:14px;flex-basis:14px}.topbar-phones{display:flex;gap:32px;font-variant-numeric:tabular-nums}.topbar a{display:flex;align-items:center;min-height:42px}.topbar a:hover{color:var(--gold-light)}
.header{position:sticky;top:0;background:var(--bg);z-index:var(--z-header);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:40px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-name{font-family:Georgia,serif;font-size:27px;line-height:1;letter-spacing:.085em;color:var(--gold-light)}.brand-name>span{display:block;text-align:center;font-size:10px;letter-spacing:.45em;margin-top:9px;margin-right:-.45em}.brand-mark img{width:46px;height:46px}.nav{display:flex;align-items:center;gap:32px}.nav>a{font-size:13px;min-height:44px;display:flex;align-items:center;white-space:nowrap}.nav>a:hover,.nav>a[aria-current]{color:var(--gold-light)}.nav .nav-contact{border:1px solid #70603f;gap:26px;padding:4px 19px;margin-left:10px;color:var(--gold-light)}.nav-contact .icon{width:18px;height:18px;flex-basis:18px}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);width:46px;height:46px;align-items:center;justify-content:center}
.button{display:inline-flex;justify-content:center;align-items:center;gap:11px;min-height:54px;padding:14px 21px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:700;line-height:1.3;transition:background .2s,color .2s,border-color .2s,transform .2s}.button--gold{background:var(--gold-light);color:#171713;border-color:var(--gold-light)}.section--light .button--gold{background:#b58a3a;border-color:#b58a3a;color:#171713}.button--gold:hover{background:#e1c084;border-color:#e1c084;transform:translateY(-2px)}.button--outline{color:var(--ink);border-color:var(--line);background:transparent}.button--outline:hover{border-color:currentColor;transform:translateY(-2px)}.actions{display:flex;flex-wrap:wrap;gap:12px}.actions .icon{width:18px;height:18px;flex-basis:18px}
.hero{position:relative;overflow:clip;padding:64px 0 58px;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:72px 72px}.hero-grid{display:grid;grid-template-columns:1.23fr 1fr;gap:52px;align-items:center}.hero-copy{padding-block:14px;min-width:0}.hero-kicker{display:flex;align-items:center;gap:12px;color:#c8c5bb;font-size:13px;margin-bottom:30px}.hero-kicker>span{height:6px;width:6px;border-radius:50%;background:var(--gold-light)}.hero h1{font-size:clamp(2.8rem,4.55vw,5.35rem);line-height:1.16;letter-spacing:-.04em}.hero-copy>p{font-size:17px;max-width:46ch;margin:26px 0 32px}.hero-foot{display:flex;justify-content:space-between;gap:28px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:11px;color:#a9aa9e;line-height:1.6}.hero-foot>a{display:flex;align-items:center;gap:18px;color:#d4d1c6}.hero-foot .icon{transform:rotate(90deg);width:18px;height:18px;flex-basis:18px}.hero-visual{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;margin-bottom:25px}.hero-tile{position:relative;min-width:0;height:450px;overflow:hidden;isolation:isolate}.hero-tile--clean{background:#e9e5d9;color:#25251e;margin-top:44px}.hero-tile--clean>img{width:160%;max-width:none;height:100%;object-fit:contain;margin-left:-30%;opacity:.95;padding-bottom:100px}.hero-tile--stone{background:#3c4034}.hero-tile--stone>img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.hero-tile--stone:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#10110fee);z-index:0}.hero-tile:hover>img{transform:scale(1.025)}.tile-caption{position:absolute;bottom:25px;left:22px;right:20px;display:flex;gap:8px;align-items:flex-end;justify-content:space-between;z-index:1;font-size:14px;line-height:1.5}.tile-caption strong{font-size:18px;font-weight:600}.tile-caption>.icon{width:18px;height:18px;flex-basis:18px;margin-bottom:6px}.hero-stamp{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);border:1px solid #716041;background:var(--bg);border-radius:50%;width:78px;height:78px;display:grid;place-items:center;box-shadow:0 0 0 8px var(--bg)}.hero-visual-note{position:absolute;bottom:-29px;right:0;font-size:10px;color:#c7c3b6;letter-spacing:.06em}.service-strip{border-block:1px solid var(--line);background:#1d1f18}.service-strip>.wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px;font-size:13px;color:#ccc9bd}.service-strip span+span:before{content:"";display:inline-block;width:4px;height:4px;background:var(--gold);border-radius:50%;vertical-align:middle;margin-right:clamp(12px,3vw,44px)}
.service-columns{display:grid;grid-template-columns:1fr 1fr;gap:80px}.service-column+.service-column{border-left:1px solid var(--line);padding-left:80px}.service-top{display:flex;align-items:center;gap:28px;margin-bottom:24px}.service-top h3{font-size:clamp(1.8rem,2.8vw,2.6rem)}.service-symbol{font-family:Georgia,serif;font-size:76px;line-height:1;color:#8a672a}.stone-symbol{display:grid;grid-template-columns:20px 20px;gap:5px;transform:rotate(-12deg);width:54px;flex-shrink:0;margin-right:14px}.stone-symbol i{height:20px;border:1px solid #8a672a}.service-column>p{min-height:82px}.service-links{margin-block:24px 28px}.service-links>a{display:flex;gap:16px;align-items:center;justify-content:space-between;padding-block:18px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600;transition:color .2s}.service-links>a:hover{color:#805e20}.service-links .icon{width:18px;height:18px;flex-basis:18px}.service-column>.text-link{border-bottom:none;color:#805e20}
.work-section{position:relative;overflow:clip}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}.project-grid>.project:first-child:nth-last-child(3){grid-row:span 2}.project-image{position:relative;display:block;background:#292b22;overflow:hidden;aspect-ratio:4/3}.project-grid>.project:first-child:nth-last-child(3) .project-image{aspect-ratio:auto;height:calc(100% - 72px);min-height:580px}.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.project-image:hover>img{transform:scale(1.035)}.image-expand{position:absolute;right:16px;bottom:16px;width:44px;height:44px;border:1px solid #ffffff80;display:grid;place-items:center;background:#171713cc;color:#fff}.image-expand .icon{width:19px;height:19px}.project figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:18px}.project figcaption h3{font-size:17px;line-height:1.4;letter-spacing:-.01em}.project figcaption>span{font-size:11px;color:var(--muted);text-align:right}.process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px;list-style:none;counter-reset:step}.process>li{padding-top:24px;border-top:1px solid var(--line)}.process>li>span{display:block;color:#8a672a;font-size:13px;font-variant-numeric:tabular-nums;margin-bottom:30px}.process h3{font-size:24px;margin-bottom:18px}.process p{font-size:14px;line-height:1.8}.area-section{background:#24271f;border-bottom:1px solid var(--line)}.area-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.area-layout h2{margin-bottom:26px}.area-layout .text-link{margin-top:28px}.area-mark{min-height:330px;display:flex;align-items:center;position:relative;isolation:isolate;overflow:clip}.area-mark>span{font-size:clamp(2.4rem,4vw,4.2rem);font-weight:500;line-height:1.3;color:#d2af6b;letter-spacing:-.035em;z-index:1}.area-ring{position:absolute;width:320px;height:320px;border:1px solid #716044;border-radius:50%;left:80px;top:0}.area-ring:before,.area-ring:after{content:"";position:absolute;inset:32px;border:1px solid #716044;border-radius:50%;opacity:.65}.area-ring:after{inset:66px;opacity:.4}.faq-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:100px}.section-intro>p{margin-top:24px}.section-intro>.text-link{margin-top:20px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:16px;font-weight:600;cursor:pointer;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{flex-shrink:0}.faq-list summary .icon{width:18px;height:18px;transition:transform .2s}.faq-list details[open] summary .icon{transform:rotate(45deg)}.faq-answer{padding-bottom:26px}.faq-answer p{font-size:14px}.cta-band{background:var(--deep);border-bottom:1px solid var(--line)}.cta-layout{display:flex;justify-content:space-between;gap:70px;align-items:center}.cta-layout h2{margin-bottom:24px}.cta-layout .text-link{margin-top:24px;color:#d1ae68}
.footer{position:relative;background:var(--bg);overflow:clip}.footer-main{display:grid;grid-template-columns:1.25fr 1fr 1fr .8fr;gap:50px;padding-top:72px;padding-bottom:64px}.footer h2{font-size:13px;letter-spacing:0;margin:8px 0 24px;color:#dedacf}.footer p{font-size:12px;line-height:1.8}.footer-brand>p{margin-top:25px}.footer-main>div>a:not(.brand){display:flex;align-items:center;gap:7px;font-size:12px;min-height:36px;color:#bcbbae}.footer-main>div>a:hover{color:var(--gold-light)}.footer-main .icon{width:13px;height:13px;flex-basis:13px}.footer-main>div>.footer-phone{font-size:17px!important;letter-spacing:-.01em;color:var(--ink)!important;font-variant-numeric:tabular-nums}.footer-main .footer-phone+p{margin-top:17px}.footer-legal{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-block:22px;font-size:10px;color:#b9b8a9}.footer-legal p{font-size:10px}.footer-word{font-size:clamp(5rem,15.8vw,18rem);line-height:1.03;letter-spacing:-.04em;font-weight:700;text-align:center;color:transparent;-webkit-text-stroke:1px #3c3e32;white-space:nowrap;overflow:hidden;margin-top:16px}
.page-hero{padding-block:56px 80px;overflow:clip;border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center}.page-hero-grid:has(>div:only-child){display:block}.page-hero h1{max-width:940px}.page-hero p{font-size:18px;margin-top:28px;max-width:56ch}.page-hero .actions{margin-top:30px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#b4b5a8;margin-bottom:36px;line-height:1.5}.breadcrumbs>span:last-child{color:#e1decd}.breadcrumbs>a:hover{text-decoration:underline}.page-hero-art{height:430px;overflow:hidden;background:#34362d}.page-hero-art>img{width:100%;height:100%;object-fit:cover}.page-hero-art--clean{background:#e9e5d9}.page-hero-art--clean>img{object-fit:contain}.content-layout{display:grid;grid-template-columns:1fr 2fr;gap:110px}.content-aside{align-self:start;position:sticky;top:130px}.content-aside>p{font-size:25px;line-height:1.5;letter-spacing:-.02em;color:var(--ink)}.content-aside>.text-link{margin-top:28px}.prose>section+section{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}.prose h2,.legal-content h2{font-size:clamp(1.7rem,2.3vw,2.3rem);margin-bottom:24px}.prose p{font-size:16px;line-height:1.9}.check-list{list-style:none;margin-top:24px}.check-list>li{display:flex;align-items:flex-start;gap:12px;padding:10px 0;font-size:14px;line-height:1.7}.check-list .icon{width:18px;height:18px;flex-basis:18px;color:var(--gold-light);margin-top:3px}.related-section{padding-block:64px;border-bottom:1px solid var(--line)}.related-section h2{font-size:28px;margin-bottom:28px}.related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.related-links>a{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:16px;font-weight:600;border-block:1px solid var(--line);padding:25px 0}.related-links>a:hover{color:var(--gold-light)}.business-data{margin-top:64px;padding:32px;border:1px solid var(--line)}.business-data h2{font-size:22px}.business-data dl{margin:0}.business-data dl>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:13px 0;border-top:1px solid var(--line);font-size:13px}.business-data dt{color:var(--muted)}.business-data dd{margin:0;overflow-wrap:anywhere}.legal-content{max-width:850px}.legal-content .prose>section+section{margin-top:40px}
.contact-hero h1{font-size:clamp(2.8rem,5.5vw,5.5rem)}.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:100px}.contact-main>h2{margin-bottom:40px}.contact-pairs{display:grid;gap:20px}.phone-card{padding:26px 0;border-top:1px solid var(--line)}.phone-number{font-size:32px;letter-spacing:-.02em;font-weight:600;font-variant-numeric:tabular-nums}.phone-actions{display:flex;gap:12px;margin-top:18px}.phone-actions .button{flex:1}.phone-actions .icon{width:18px;height:18px;flex-basis:18px}.viber-note{font-size:12px;line-height:1.8;margin-top:20px;max-width:60ch}.contact-guide{padding:36px;background:#e8e4d8;align-self:start}.contact-guide h2{font-size:34px;margin-bottom:24px}.contact-guide .small-text{font-size:12px;margin-top:24px}.location-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:100px}.location-address{font-size:24px;line-height:1.6;color:var(--ink);margin-bottom:28px}.location-layout .text-link{margin-top:24px}.gallery-section{padding-top:0}.gallery-section .project-grid{row-gap:56px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.video-grid video{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:var(--deep)}.video-grid figcaption{font-size:13px;margin-top:18px}.notfound{min-height:60vh}.notfound p{margin-block:28px}.mobile-dock{display:none}
dialog{border:1px solid #666047;padding:48px;background:var(--bg);color:var(--ink);max-width:640px;width:calc(100% - 32px);max-height:calc(100dvh - 48px);overflow:auto;border-radius:4px}dialog::backdrop{background:#080a08cc}dialog h2{font-size:36px;margin-bottom:24px}dialog>p{font-size:14px}dialog .section-label{margin-top:4px;margin-right:40px}dialog .contact-pairs{margin-top:30px;gap:0}.dialog-close{position:absolute;right:18px;top:18px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:50%}.dialog-close:hover{border-color:var(--gold-light)}.lightbox{max-width:1200px;width:calc(100% - 48px);padding:60px 24px 24px}.lightbox>img{display:block;max-height:75dvh;width:auto;max-width:100%;height:auto;margin-inline:auto;object-fit:contain}.lightbox>p{margin:18px auto 0;text-align:center;max-width:unset}.lightbox .dialog-close{top:8px;right:10px}
@media(min-width:1600px){.hero-tile{height:500px}.hero{padding-block:80px}.hero-grid{gap:80px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:20px}.nav .nav-contact{margin-left:0}.hero-grid{gap:28px;grid-template-columns:1.1fr 1fr}.hero-tile{height:395px}.hero h1{font-size:clamp(2.65rem,4.7vw,4.5rem)}.hero-foot{margin-top:30px}.hero-foot>span{display:none}.tile-caption{left:16px;right:12px;font-size:12px}.tile-caption strong{font-size:15px}.service-columns{gap:44px}.service-column+.service-column{padding-left:44px}.section-heading{gap:40px}.area-layout,.faq-layout,.content-layout,.page-hero-grid,.contact-layout,.location-layout{gap:50px}.footer-main{gap:30px}.project-grid>.project:first-child:nth-last-child(3) .project-image{min-height:500px}.hero-copy>p{font-size:15px}.actions .button{padding-inline:15px;font-size:13px}.hero-stamp{width:62px;height:62px;box-shadow:0 0 0 6px var(--bg)}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:730px}.hero h1{font-size:clamp(3rem,7vw,4.9rem)}.hero-copy>p{max-width:55ch;font-size:17px}.hero-foot{display:none}.hero-visual{max-width:660px;width:100%;margin:20px auto 24px}.hero-tile{height:350px}.hero-tile--clean{margin-top:24px}.tile-caption{left:24px;bottom:24px;font-size:15px}.tile-caption strong{font-size:20px}.hero-tile--clean>img{width:120%;margin-left:-10%}.hero-visual-note{font-size:11px}.nav{gap:18px}.nav>a{font-size:12px}.brand-name{font-size:23px}.brand-mark img{width:39px;height:39px}.header-inner{gap:20px}.service-strip>.wrap{flex-wrap:wrap;justify-content:center;gap:10px 25px;padding-block:20px}.service-strip span+span:before{display:none}.section-heading{align-items:flex-start}.section-heading>p{max-width:320px}.service-columns{gap:32px}.service-column+.service-column{padding-left:32px}.service-top{gap:18px}.service-symbol{font-size:62px}.service-top h3{font-size:30px}.process{gap:30px}.process h3{font-size:22px}.area-layout{gap:40px}.area-ring{left:20px;width:280px;height:280px}.faq-layout{gap:40px}.cta-layout{display:block}.cta-layout>.actions,.cta-layout>div+div{margin-top:32px}.footer-main{grid-template-columns:1fr 1fr;gap:48px}.page-hero-grid{grid-template-columns:1.3fr 1fr;gap:36px}.page-hero-art{height:360px}.page-hero h1{font-size:clamp(2.6rem,5vw,3.5rem)}.content-layout{grid-template-columns:1fr 2fr;gap:45px}.content-aside>p{font-size:20px}.contact-layout{gap:40px}.contact-guide{padding:28px}.phone-number{font-size:27px}.related-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){html{scroll-padding-top:90px}body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.wrap{width:calc(100% - 40px)}.topbar-inner>span{display:none}.topbar-phones{justify-content:space-between;width:100%;font-size:12px}.topbar-inner{min-height:36px}.topbar a{min-height:36px}.header-inner{min-height:76px;flex-wrap:wrap;gap:0}.brand-name{font-size:25px}.brand-mark img{width:42px;height:42px}.js .menu-toggle{display:flex}.nav{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);padding-block:12px 20px}.nav>a{min-height:52px;font-size:16px}.nav .nav-contact{margin-top:12px;justify-content:space-between}.js .nav:not(.is-open){display:none}.menu-toggle[aria-expanded="true"]{color:var(--gold-light)}.hero{padding:40px 0 36px}.hero-kicker{font-size:12px;margin-bottom:24px}.hero h1{font-size:clamp(2.5rem,8.1vw,3.85rem);line-height:1.2}.hero-copy>p{font-size:15px;margin-block:24px 28px}.actions{gap:10px}.actions .button{min-height:52px;padding-inline:17px}.hero-visual{gap:7px;margin-top:12px}.hero-tile{height:300px}.hero-tile--clean{margin-top:22px}.hero-tile--clean>img{width:155%;margin-left:-28%;padding-bottom:95px}.tile-caption{left:16px;right:14px;bottom:18px;font-size:12px}.tile-caption strong{font-size:15px}.hero-stamp{width:56px;height:56px;box-shadow:0 0 0 5px var(--bg)}.hero-stamp img{width:30px;height:30px}.hero-visual-note{font-size:10px;bottom:-28px}.service-strip>.wrap{gap:10px 22px;padding-block:18px;font-size:11px}.section{padding-block:64px}.section-heading{display:block;margin-bottom:36px}.section-heading>p,.section-heading>div:last-child:not(:first-child){margin-top:24px;max-width:unset;font-size:15px}.section-heading h2{font-size:36px}.section-label{margin-bottom:18px}.service-columns{grid-template-columns:1fr;gap:42px}.service-column+.service-column{border-left:none;border-top:1px solid var(--line);padding:40px 0 0}.service-column>p{min-height:0;font-size:14px}.service-top h3{font-size:32px}.service-top{gap:28px}.service-links>a{font-size:14px;min-height:58px}.project-grid{grid-template-columns:1fr;gap:32px}.project-grid>.project:first-child:nth-last-child(3){grid-row:auto}.project-grid>.project:first-child:nth-last-child(3) .project-image{height:auto;min-height:0;aspect-ratio:4/5}.project-image{aspect-ratio:4/3}.project figcaption{margin-top:14px;gap:10px}.project figcaption h3{font-size:16px}.project figcaption>span{font-size:10px}.process{grid-template-columns:1fr;gap:30px}.process>li{display:grid;grid-template-columns:35px 1fr;gap:12px 18px;padding-top:24px}.process>li>span{margin-bottom:0;grid-row:span 2}.process h3{margin:0;font-size:23px}.process p{grid-column:2}.area-layout,.faq-layout,.content-layout,.contact-layout,.location-layout{grid-template-columns:1fr;gap:40px}.area-mark{min-height:250px}.area-mark>span{font-size:44px}.area-ring{left:100px;top:0;width:250px;height:250px}.area-layout{gap:36px}.area-layout h2{font-size:36px}.area-layout p{font-size:15px}.faq-list summary{font-size:15px;padding-block:22px}.faq-layout .section-intro>p{font-size:14px}.cta-layout{gap:32px}.cta-layout h2{font-size:36px}.cta-layout p{font-size:14px}.footer-main{grid-template-columns:1fr 1fr;gap:36px 26px;padding-top:54px;padding-bottom:40px}.footer-brand{grid-column:span 2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.footer-brand>p{margin-top:0;font-size:11px}.footer-main>div:last-child{grid-column:span 2}.footer-main>div:last-child{display:flex;flex-wrap:wrap;gap:4px 22px}.footer-main>div:last-child h2{width:100%;margin-bottom:10px}.footer h2{margin-top:0;margin-bottom:16px}.footer-main>div>a:not(.brand){min-height:40px}.footer-main>div>.footer-phone{font-size:16px!important}.footer-legal{flex-direction:column;gap:12px;font-size:10px}.footer-word{font-size:15.5vw;margin-top:0}.page-hero{padding-block:32px 48px}.page-hero-grid{grid-template-columns:1fr;gap:36px}.breadcrumbs{font-size:10px;margin-bottom:28px;gap:8px}.page-hero h1{font-size:clamp(2.3rem,8.3vw,3.5rem)}.page-hero p{font-size:15px;margin-top:24px}.page-hero-art{height:290px}.content-aside{position:static;padding-bottom:28px;border-bottom:1px solid var(--line)}.content-aside>p{font-size:23px;max-width:26ch}.content-aside>.text-link{margin-top:15px}.content-aside>.section-label{margin-bottom:12px}.prose h2{font-size:27px;margin-bottom:20px}.prose p{font-size:15px}.prose>section+section{margin-top:38px;padding-top:30px}.check-list>li{font-size:14px}.related-links{grid-template-columns:1fr;gap:0}.related-links>a+a{border-top:0}.related-links>a{font-size:16px}.business-data{padding:24px;margin-top:40px}.business-data dl>div{grid-template-columns:1fr;gap:4px}.business-data h2{font-size:24px}.contact-main>h2{font-size:34px;margin-bottom:30px}.phone-number{font-size:30px}.contact-guide h2{font-size:32px}.contact-guide{padding:28px}.phone-actions .button{padding-inline:18px}.location-layout h2{font-size:34px}.location-address{font-size:23px}.desktop-break{display:none}.gallery-section{padding-top:0}.gallery-section .project-grid{row-gap:36px}.video-grid{grid-template-columns:1fr;gap:36px}.mobile-dock{display:flex;position:fixed;z-index:var(--z-dock);bottom:0;left:0;right:0;min-height:64px;padding-bottom:env(safe-area-inset-bottom);background:var(--deep);border-top:1px solid #796843}.mobile-dock>a{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;font-size:13px;min-height:64px;color:var(--gold-light)}.mobile-dock>a+a{border-left:1px solid #494334}.mobile-dock .icon{width:18px;height:18px;flex-basis:18px}dialog{padding:34px 24px;max-height:calc(100dvh - 24px)}dialog h2{font-size:29px;margin-top:8px}dialog .section-label{font-size:11px;margin-right:30px}dialog>p{font-size:13px}dialog .phone-number{font-size:27px}dialog .phone-actions .button{padding-inline:14px;min-height:48px}dialog .phone-card{padding-block:20px}dialog .contact-pairs{margin-top:24px}.dialog-close{right:12px;top:12px;width:40px;height:40px}.lightbox{width:calc(100% - 20px);padding:58px 10px 18px}.lightbox>img{max-height:70dvh}.lightbox>p{font-size:12px;padding-inline:8px}}
@media(max-width:380px){.wrap{width:calc(100% - 36px)}.hero h1{font-size:2.38rem}.hero .actions .button{font-size:12px;padding-inline:13px;gap:8px}.hero-tile{height:270px}.tile-caption strong{font-size:13px}.tile-caption>.icon{width:14px;height:14px;flex-basis:14px}.hero-visual-note{font-size:9px}.footer-brand{display:block}.footer-brand>p{margin-top:20px}.phone-actions{gap:8px}.button{font-size:13px;padding-inline:16px}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:hero-enter .65s var(--ease) both}.hero-visual{animation:hero-enter .85s var(--ease) both}.hero-stamp img{transition:transform .5s var(--ease)}.hero-stamp:hover img{transform:rotate(-8deg)}@keyframes hero-enter{from{opacity:.35;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.topbar,.header,.footer,.mobile-dock,.actions,dialog{display:none!important}body{background:#fff;color:#111;padding:0}p{color:#333}.section,.page-hero{padding-block:25px}.wrap{width:100%}.section--light{background:#fff}.page-hero-art{height:240px}}
:root {
    --motion-gold: #d2af6b;
    --motion-curve: cubic-bezier(.22, 1, .36, 1);
    --motion-step: 65ms;
}

.motion-progress {
    position: fixed;
    inset: 0 0 auto;
    z-index: 70;
    height: 3px;
    pointer-events: none;
    overflow: hidden;
}

.motion-progress > span {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, #8b6528, var(--motion-gold), #f0d69d);
    box-shadow: 0 0 14px rgba(210, 175, 107, .34);
}

.motion-guide {
    display: none;
    position: fixed;
    z-index: 9;
    top: 148px;
    bottom: 42px;
    left: max(8px, calc((100vw - var(--wrap)) / 2 - 72px));
    width: 64px;
    pointer-events: none;
}

.motion-guide svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.motion-guide__track,
.motion-guide__path {
    fill: none;
    vector-effect: non-scaling-stroke;
}

.motion-guide__track {
    stroke: rgba(210, 175, 107, .14);
    stroke-width: 1;
}

.motion-guide__path {
    stroke: var(--motion-gold);
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    filter: drop-shadow(0 0 4px rgba(210, 175, 107, .28));
}

.motion-guide__node {
    position: absolute;
    left: 50%;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    border: 1px solid rgba(210, 175, 107, .54);
    border-radius: 50%;
    background: var(--bg);
    box-shadow: 0 0 0 5px rgba(210, 175, 107, .035);
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.motion-guide__node--1 { top: 10%; left: 61%; }
.motion-guide__node--2 { top: 30%; left: 37%; }
.motion-guide__node--3 { top: 50%; left: 63%; }
.motion-guide__node--4 { top: 70%; left: 37%; }
.motion-guide__node--5 { top: 90%; left: 59%; }

.motion-guide__node.is-active {
    border-color: var(--motion-gold);
    background: var(--motion-gold);
    box-shadow: 0 0 0 6px rgba(210, 175, 107, .1), 0 0 16px rgba(210, 175, 107, .3);
}

.motion-section {
    position: relative;
}

.motion-section-line {
    position: absolute;
    z-index: 2;
    top: 30px;
    left: 8px;
    width: 20px;
    height: 42px;
    pointer-events: none;
    opacity: .58;
}

.motion-section-line::before,
.motion-section-line::after {
    content: "";
    position: absolute;
    background: linear-gradient(90deg, transparent, rgba(210, 175, 107, .76));
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform .72s var(--motion-curve);
}

.motion-section-line::before {
    left: 0;
    bottom: 7px;
    width: 100%;
    height: 1px;
}

.motion-section-line::after {
    right: 0;
    bottom: 7px;
    width: 1px;
    height: 30px;
    transform: scaleY(0);
    transform-origin: center bottom;
    background: linear-gradient(0deg, rgba(210, 175, 107, .76), transparent);
}

.motion-section-line > span {
    position: absolute;
    right: -3px;
    bottom: 4px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--motion-gold);
    opacity: 0;
    transform: scale(.3);
    box-shadow: 0 0 0 5px rgba(210, 175, 107, .09);
    transition: opacity .25s ease .48s, transform .35s var(--motion-curve) .48s;
}

.motion-section--reached .motion-section-line::before {
    transform: scaleX(1);
}

.motion-section--reached .motion-section-line::after {
    transform: scaleY(1);
}

.motion-section--reached .motion-section-line > span {
    opacity: 1;
    transform: scale(1);
}

.motion-enabled .motion-reveal {
    transition:
        opacity .62s var(--motion-curve),
        transform .72s var(--motion-curve),
        filter .72s var(--motion-curve);
}

.motion-enabled .motion-reveal.motion-pending {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    filter: blur(2px);
}

.motion-enabled .motion-reveal.motion-pending[data-motion-from="left"] {
    transform: translate3d(-18px, 12px, 0);
}

.motion-enabled .motion-reveal.motion-pending[data-motion-from="right"] {
    transform: translate3d(18px, 12px, 0);
}

.motion-enabled .motion-reveal.motion-visible {
    opacity: 1;
    transform: none;
    filter: none;
}

.motion-enabled [data-motion-step="1"] { transition-delay: calc(var(--motion-step) * 1); }
.motion-enabled [data-motion-step="2"] { transition-delay: calc(var(--motion-step) * 2); }
.motion-enabled [data-motion-step="3"] { transition-delay: calc(var(--motion-step) * 3); }
.motion-enabled [data-motion-step="4"] { transition-delay: calc(var(--motion-step) * 4); }

.motion-top {
    position: fixed;
    z-index: 29;
    right: 24px;
    bottom: 24px;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 1px solid rgba(210, 175, 107, .55);
    border-radius: 50%;
    background: rgba(16, 17, 15, .92);
    color: var(--motion-gold);
    box-shadow: 0 12px 34px rgba(0, 0, 0, .22);
    opacity: 0;
    transform: translateY(12px) scale(.92);
    pointer-events: none;
    transition: opacity .25s ease, transform .35s var(--motion-curve), border-color .2s ease, background .2s ease;
    backdrop-filter: blur(8px);
}

.motion-top > span[aria-hidden="true"] {
    font-size: 22px;
    line-height: 1;
    transform: translateY(-1px);
}

.motion-top.is-visible {
    opacity: 1;
    transform: none;
    pointer-events: auto;
}

.motion-top:hover {
    border-color: var(--motion-gold);
    background: #24231d;
}

.motion-parallax-image {
    --motion-parallax-y: 0px;
    --motion-image-scale: 1.055;
    transform: translate3d(0, var(--motion-parallax-y), 0) scale(var(--motion-image-scale));
    transform-origin: center;
}

.motion-enabled .header::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, transparent 0, var(--motion-gold) 48%, transparent 100%);
    animation: motion-load-line .9s var(--motion-curve) .08s forwards;
    pointer-events: none;
}

.motion-enabled .brand-mark {
    animation: motion-mark-arrive .7s var(--motion-curve) both;
}

html.motion-enabled body:not(.page-home) .page-hero .breadcrumbs {
    animation: motion-page-rise .52s var(--motion-curve) .03s both;
}

html.motion-enabled body:not(.page-home) .page-hero .section-label {
    animation: motion-page-rise .56s var(--motion-curve) .07s both;
}

html.motion-enabled body:not(.page-home) .page-hero h1 {
    animation: motion-page-rise .68s var(--motion-curve) .1s both;
}

html.motion-enabled body:not(.page-home) .page-hero h1 + p {
    animation: motion-page-rise .68s var(--motion-curve) .16s both;
}

html.motion-enabled body:not(.page-home) .page-hero .actions {
    animation: motion-page-rise .7s var(--motion-curve) .22s both;
}

html.motion-enabled body:not(.page-home) .page-hero .page-hero-art {
    animation: motion-page-art .82s var(--motion-curve) .09s both;
}

@keyframes motion-load-line {
    0% { transform: scaleX(0); opacity: 0; }
    35% { opacity: 1; }
    100% { transform: scaleX(1); opacity: .42; }
}

@keyframes motion-mark-arrive {
    from { transform: rotate(-7deg) scale(.94); }
    to { transform: none; }
}

@keyframes motion-page-rise {
    from { transform: translate3d(0, 13px, 0); }
    to { transform: none; }
}

@keyframes motion-page-art {
    from { transform: translate3d(0, 9px, 0) scale(1.014); }
    to { transform: none; }
}

@media (hover: hover) and (pointer: fine) {
    .motion-enabled .button {
        position: relative;
        isolation: isolate;
        overflow: hidden;
    }

    .motion-enabled .button::after {
        content: "";
        position: absolute;
        z-index: -1;
        inset: -60% auto -60% -45%;
        width: 34%;
        transform: skewX(-18deg) translateX(-240%);
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .24), transparent);
        transition: transform .62s var(--motion-curve);
        pointer-events: none;
    }

    .motion-enabled .button:hover::after {
        transform: skewX(-18deg) translateX(620%);
    }

    .motion-enabled .project-image::before {
        content: "";
        position: absolute;
        z-index: 1;
        inset: 9px;
        border: 1px solid rgba(238, 215, 169, .62);
        opacity: 0;
        transform: scale(.985);
        transition: opacity .3s ease, transform .5s var(--motion-curve), box-shadow .4s ease;
        pointer-events: none;
    }

    .motion-enabled .project-image:hover::before,
    .motion-enabled .project-image:focus-visible::before {
        opacity: 1;
        transform: scale(1);
        box-shadow: inset 0 0 36px rgba(210, 175, 107, .08);
    }

    .motion-enabled .service-links > a,
    .motion-enabled .related-links > a,
    .motion-enabled .footer-main > div > a:not(.brand) {
        background-image: linear-gradient(90deg, var(--motion-gold), rgba(210, 175, 107, .08));
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
        transition: color .22s ease, background-size .42s var(--motion-curve);
    }

    .motion-enabled .service-links > a:hover,
    .motion-enabled .related-links > a:hover,
    .motion-enabled .footer-main > div > a:not(.brand):hover {
        background-size: 100% 1px;
    }

    .motion-enabled .contact-guide {
        transition: box-shadow .45s ease;
    }

    .motion-enabled .contact-guide:hover {
        box-shadow: 0 22px 56px rgba(70, 50, 18, .13);
    }

    .motion-enabled .hero-media:hover > .motion-parallax-image,
    .motion-enabled .project-image:hover > .motion-parallax-image {
        --motion-image-scale: 1.075;
    }
}

@media (min-width: 1500px) {
    .motion-guide { display: block; }
    .motion-section-line { display: none; }
}

@media (min-width: 1101px) and (max-width: 1499px) {
    .motion-section-line {
        left: 12px;
        width: 30px;
    }
}

@media (max-width: 767px) {
    .motion-top {
        right: 16px;
        bottom: calc(78px + env(safe-area-inset-bottom));
        width: 46px;
        height: 46px;
    }

    .motion-section-line {
        top: 21px;
        left: 7px;
        width: 18px;
        height: 28px;
        opacity: .46;
    }

    .motion-section-line::after { height: 18px; }
}

.page-privacy .motion-guide,
.page-privacy .motion-section-line {
    display: none;
}

html.motion-enabled body.page-privacy .page-hero .breadcrumbs,
html.motion-enabled body.page-privacy .page-hero h1,
html.motion-enabled body.page-privacy .page-hero h1 + p {
    animation-duration: .38s;
}

html.motion-enabled body.page-privacy .motion-reveal {
    transition-duration: .32s;
}

html.motion-enabled body.page-privacy .motion-reveal.motion-pending {
    transform: translate3d(0, 8px, 0);
    filter: none;
}

@media (prefers-reduced-motion: reduce) {
    .motion-progress,
    .motion-guide,
    .motion-section-line {
        display: none !important;
    }

    .motion-enabled .motion-reveal,
    .motion-enabled .motion-reveal.motion-pending,
    .motion-enabled .motion-reveal.motion-visible {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }

    .motion-parallax-image,
    .motion-enabled .brand-mark {
        transform: none !important;
        animation: none !important;
    }

    .motion-enabled .header::after { animation: none !important; }
    .motion-enabled .page-hero .breadcrumbs,
    .motion-enabled .page-hero .section-label,
    .motion-enabled .page-hero h1,
    .motion-enabled .page-hero h1 + p,
    .motion-enabled .page-hero .actions,
    .motion-enabled .page-hero .page-hero-art { animation: none !important; }
    .motion-top { transition: none !important; }
}

html.motion-failed .motion-progress,
html.motion-failed .motion-guide,
html.motion-failed .motion-section-line,
html.motion-failed .motion-top {
    display: none !important;
}

html.motion-failed .motion-parallax-image {
    transform: none !important;
}

@media print {
    .motion-progress,
    .motion-guide,
    .motion-section-line,
    .motion-top { display: none !important; }

    .motion-reveal {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
}
/* Fotografski uvodnici: jedna precizna linija spaja čist prostor i uređenu površinu. */
.hero--immersive,
.page-hero--photographic {
    position: relative;
    isolation: isolate;
    overflow: clip;
    background: var(--deep);
}

.hero-media,
.hero-media > img {
    display: block;
    width: 100%;
    height: 100%;
}

.hero-media > img {
    object-fit: cover;
}

/* Slike napravljene uz pomoć veštačke inteligencije nose vidljivu oznaku. */
.hero-media--ilustracija::after {
    content: "Ilustracija";
    position: absolute;
    z-index: 3;
    top: 14px;
    right: 14px;
    padding: 3px 8px;
    background: rgba(16, 17, 15, .82);
    color: #f5f1e7;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .06em;
    pointer-events: none;
}

.home-hero__media--interior.hero-media--ilustracija::after {
    right: calc(39% + 14px);
}

/* Početna */
.hero--immersive {
    display: grid;
    grid-template-rows: minmax(620px, 1fr) auto;
    min-height: min(820px, calc(100svh - 42px));
    padding: 0;
    border-bottom: 1px solid var(--line);
    background-image: none;
}

.hero-scene,
.hero__shade,
.hero__geometry {
    position: absolute;
    inset: 0;
}

.hero-scene {
    z-index: -1;
    background: #10110f;
}

.home-hero__media {
    position: absolute;
    inset: 0;
}

.home-hero__media--interior > img {
    object-position: 58% center;
}

.home-hero__media--paving {
    left: 61%;
    width: 39%;
    clip-path: polygon(29% 0, 100% 0, 100% 100%, 0 100%, 17% 52%);
}

.home-hero__media--paving > img {
    object-position: center 57%;
}

.hero__shade {
    z-index: 1;
    background:
        linear-gradient(90deg, #10110f 0%, rgba(16, 17, 15, .96) 18%, rgba(16, 17, 15, .79) 44%, rgba(16, 17, 15, .18) 64%, rgba(16, 17, 15, 0) 82%),
        linear-gradient(0deg, rgba(16, 17, 15, .76) 0%, rgba(16, 17, 15, 0) 39%);
    pointer-events: none;
}

.hero__geometry {
    z-index: 2;
    pointer-events: none;
}

.hero__geometry > span {
    position: absolute;
    display: block;
    background: rgba(210, 175, 107, .72);
    transform-origin: left center;
}

.hero__geometry > span:nth-child(1) {
    top: 16%;
    left: 48%;
    width: 22%;
    height: 1px;
    transform: rotate(-23deg);
}

.hero__geometry > span:nth-child(2) {
    top: 16%;
    left: 48%;
    width: 1px;
    height: 50%;
    opacity: .46;
}

.hero__geometry > span:nth-child(3) {
    right: 5.5%;
    bottom: 23%;
    width: 13%;
    height: 1px;
    opacity: .52;
}

.hero-grid--immersive {
    position: relative;
    z-index: 2;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    min-height: 620px;
    padding-block: clamp(62px, 8vh, 102px) 76px;
}

.hero--immersive .hero-copy {
    width: min(770px, 100%);
    padding: 0;
}

.hero--immersive .hero-kicker {
    margin-bottom: 26px;
    color: #dedacf;
}

.hero--immersive h1 {
    max-width: 880px;
    font-size: clamp(3.35rem, 5.45vw, 6rem);
    line-height: 1.035;
    letter-spacing: -.04em;
    text-shadow: 0 3px 24px rgba(16, 17, 15, .34);
}

.hero--immersive .hero-copy > p {
    max-width: 52ch;
    margin: 29px 0 32px;
    color: #ddd9ce;
    font-size: clamp(1rem, 1.18vw, 1.16rem);
    line-height: 1.75;
}

.hero--immersive .button--outline {
    border-color: rgba(245, 241, 231, .5);
    background: rgba(16, 17, 15, .35);
}

.hero--immersive .hero-foot {
    width: min(630px, 100%);
    margin-top: 42px;
    border-color: rgba(210, 175, 107, .48);
}

.hero--immersive .hero-foot small {
    display: block;
    margin-top: 6px;
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 500;
}

.hero-service-rail {
    position: relative;
    z-index: 3;
    grid-row: 2;
    border-top: 1px solid rgba(210, 175, 107, .44);
    background: rgba(16, 17, 15, .92);
}

.hero-service-rail > .wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 82px;
}

.hero-service-rail a {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
    min-height: 118px;
    padding: 22px clamp(18px, 2.6vw, 42px);
    border-right: 1px solid rgba(210, 175, 107, .27);
    transition: background-color .32s var(--ease), color .32s var(--ease);
}

.hero-service-rail a:first-child {
    padding-left: 0;
}

.hero-service-rail a:hover,
.hero-service-rail a:focus-visible {
    background: rgba(181, 138, 58, .11);
}

.hero-service-rail__mark {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border: 1px solid var(--gold-light);
    transform: rotate(45deg);
}

.hero-service-rail a > span:nth-child(2) {
    min-width: 0;
}

.hero-service-rail strong,
.hero-service-rail small {
    display: block;
}

.hero-service-rail strong {
    color: var(--ink);
    font-size: 15px;
    font-weight: 600;
}

.hero-service-rail small {
    margin-top: 5px;
    overflow: hidden;
    color: #aaa99f;
    font-size: 11px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hero-service-rail .icon {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
    margin-left: auto;
    color: var(--gold-light);
    transition: transform .32s var(--ease);
}

.hero-service-rail a:hover .icon {
    transform: translate(3px, -3px);
}

.hero-service-rail .hero-scroll {
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    padding: 14px;
    border-right: 0;
    color: #b8b6ad;
    font-size: 10px;
}

.hero-service-rail .hero-scroll .icon {
    margin: 0;
    transform: rotate(90deg);
}

.hero-service-rail .hero-scroll:hover .icon {
    transform: translateY(4px) rotate(90deg);
}

/* Fotografije u izboru dve glavne usluge. */
.service-column__media {
    position: relative;
    display: block;
    height: clamp(235px, 22vw, 330px);
    margin-bottom: 40px;
    overflow: hidden;
    background: #292b22;
}

.service-column__picture {
    position: absolute;
    inset: 0;
}

.service-column__picture > img {
    object-position: center;
    transition: transform .75s var(--ease), filter .4s ease;
}

.service-column__media::after {
    content: "";
    position: absolute;
    inset: 30% 0 0;
    background: linear-gradient(0deg, rgba(16, 17, 15, .88), rgba(16, 17, 15, 0));
    pointer-events: none;
}

.service-column__media > span {
    position: absolute;
    z-index: 1;
    right: 22px;
    bottom: 20px;
    left: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: #f5f1e7;
    font-size: 13px;
    font-weight: 600;
}

.service-column__media > span .icon {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
}

.service-column__media:hover .service-column__picture > img {
    transform: scale(1.035);
    filter: saturate(1.04);
}

/* Sve unutrašnje strane dobijaju sopstvenu fotografsku scenu. */
.page-hero--photographic {
    display: flex;
    align-items: center;
    min-height: clamp(570px, 48vw, 690px);
    padding: 0;
    border-bottom: 1px solid rgba(210, 175, 107, .35);
}

.page-hero__scene,
.page-hero__shade,
.page-hero__trace {
    position: absolute;
    inset: 0;
}

.page-hero__scene {
    z-index: -1;
}

.page-hero__media {
    position: absolute;
    inset: 0;
}

.page-hero__media > img {
    object-position: center;
}

.page-hero--interior .page-hero__media > img,
.page-hero--office .page-hero__media > img,
.page-hero--detail .page-hero__media > img {
    object-position: 61% center;
}

.page-hero--paving .page-hero__media > img,
.page-hero--stone .page-hero__media > img,
.page-hero--edging .page-hero__media > img,
.page-hero--pattern .page-hero__media > img {
    object-position: center 54%;
}

.page-hero__shade {
    z-index: 1;
    background:
        linear-gradient(90deg, #10110f 0%, rgba(16, 17, 15, .98) 23%, rgba(16, 17, 15, .8) 48%, rgba(16, 17, 15, .2) 70%, rgba(16, 17, 15, .03) 100%),
        linear-gradient(0deg, rgba(16, 17, 15, .68) 0%, transparent 36%);
    pointer-events: none;
}

.page-hero__trace {
    z-index: 2;
    pointer-events: none;
}

.page-hero__trace::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 61%;
    width: 1px;
    background: linear-gradient(0deg, transparent, rgba(210, 175, 107, .68) 29%, rgba(210, 175, 107, .2) 74%, transparent);
}

.page-hero__trace > span {
    position: absolute;
    display: block;
    height: 1px;
    background: rgba(210, 175, 107, .58);
    transform-origin: left center;
}

.page-hero__trace > span:first-child {
    top: 23%;
    left: 51%;
    width: 22%;
    transform: rotate(-19deg);
}

.page-hero__trace > span:last-child {
    right: 4.5%;
    bottom: 16%;
    width: 18%;
}

.page-hero__content {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 130px;
    align-items: center;
    gap: 70px;
    min-height: inherit;
    padding-block: clamp(64px, 7vw, 96px);
}

.page-hero__copy {
    width: min(900px, 73vw);
}

.page-hero--photographic .breadcrumbs {
    max-width: 76ch;
    margin-bottom: 32px;
    color: #cfcdc3;
}

.page-hero--photographic .breadcrumbs > span:last-child {
    color: #f5f1e7;
}

.page-hero--photographic h1 {
    max-width: 900px;
    font-size: clamp(3rem, 5.05vw, 5.7rem);
    line-height: 1.04;
    letter-spacing: -.04em;
    text-shadow: 0 4px 26px rgba(16, 17, 15, .46);
}

.page-hero--photographic p {
    max-width: 54ch;
    margin-top: 28px;
    color: #ddd9ce;
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.75;
}

.page-hero--photographic .actions {
    margin-top: 32px;
}

.page-hero--photographic .button--outline {
    border-color: rgba(245, 241, 231, .5);
    background: rgba(16, 17, 15, .32);
}

.page-hero__seal {
    align-self: end;
    justify-self: end;
    display: grid;
    width: 118px;
    height: 118px;
    margin-bottom: 12px;
    place-items: center;
    border: 1px solid rgba(210, 175, 107, .64);
    border-radius: 50%;
    box-shadow: inset 0 0 0 8px rgba(16, 17, 15, .18);
}

.page-hero__seal > span {
    color: #e1c084;
    font-size: 9px;
    letter-spacing: .16em;
    transform: rotate(-12deg);
}

.page-hero__media--secondary {
    inset: 11% 5.5% 11% auto;
    width: 25%;
    overflow: hidden;
    border: 1px solid rgba(210, 175, 107, .74);
    clip-path: polygon(12% 0, 100% 0, 100% 88%, 88% 100%, 0 100%, 0 12%);
}

.page-hero__media--secondary > img {
    object-position: 66% center;
}

.page-hero--contact .page-hero__shade,
.page-hero--about .page-hero__shade {
    background:
        linear-gradient(90deg, #10110f 0%, rgba(16, 17, 15, .97) 25%, rgba(16, 17, 15, .72) 50%, rgba(16, 17, 15, .23) 72%, rgba(16, 17, 15, .08) 100%),
        linear-gradient(0deg, rgba(16, 17, 15, .7) 0%, transparent 38%);
}

.page-hero--contact .page-hero__media:not(.page-hero__media--secondary),
.page-hero--about .page-hero__media:not(.page-hero__media--secondary) {
    right: 22%;
}

.page-hero--contact .section-label {
    margin-bottom: 18px;
    color: #e1c084;
}

.page-hero--privacy {
    min-height: 430px;
}

.page-hero--privacy .page-hero__content {
    padding-block: 58px;
}

.page-hero--privacy .page-hero__media {
    opacity: .62;
}

.page-hero--privacy .page-hero__shade {
    background: linear-gradient(90deg, #10110f 0%, rgba(16, 17, 15, .95) 42%, rgba(16, 17, 15, .52) 78%, rgba(16, 17, 15, .36));
}

.page-hero--privacy h1 {
    font-size: clamp(2.8rem, 4.5vw, 4.8rem);
}

/* Jednokratna koreografija pri otvaranju. Sadržaj je čitljiv i pre animacije. */
@media (prefers-reduced-motion: no-preference) {
    .hero--immersive .home-hero__media--interior,
    .page-hero--photographic .page-hero__media:not(.page-hero__media--secondary) {
        animation: hero-photo-unveil 1.05s var(--ease) both;
    }

    .hero--immersive .home-hero__media--paving,
    .page-hero__media--secondary {
        animation: hero-portal-unveil 1.05s var(--ease) .16s both;
    }

    .hero__geometry > span,
    .page-hero__trace > span {
        animation: hero-line-draw .9s var(--ease) .42s both;
    }

    .page-hero__seal {
        animation: hero-detail-arrive .78s var(--ease) .48s both;
    }

    @keyframes hero-photo-unveil {
        from { opacity: .72; clip-path: inset(0 5% 0 0); }
        to { opacity: 1; clip-path: inset(0); }
    }

    @keyframes hero-portal-unveil {
        from { opacity: .45; clip-path: polygon(34% 0, 100% 0, 100% 100%, 21% 100%, 34% 54%); }
        to { opacity: 1; }
    }

    @keyframes hero-line-draw {
        from { clip-path: inset(0 100% 0 0); opacity: .2; }
        to { clip-path: inset(0); opacity: 1; }
    }

    @keyframes hero-detail-arrive {
        from { opacity: .35; transform: translateY(14px); }
        to { opacity: 1; transform: translateY(0); }
    }
}

@media (min-width: 1600px) {
    .hero--immersive {
        grid-template-rows: minmax(680px, 1fr) auto;
    }

    .hero-grid--immersive {
        min-height: 680px;
    }
}

@media (max-width: 1100px) {
    .hero--immersive {
        grid-template-rows: minmax(590px, 1fr) auto;
    }

    .hero-grid--immersive {
        grid-template-columns: minmax(0, 1fr);
        min-height: 590px;
    }

    .hero--immersive h1 {
        font-size: clamp(3.2rem, 7vw, 5.35rem);
    }

    .home-hero__media--paving {
        left: 66%;
        width: 34%;
    }

    .hero__shade {
        background:
            linear-gradient(90deg, #10110f 0%, rgba(16, 17, 15, .94) 28%, rgba(16, 17, 15, .73) 54%, rgba(16, 17, 15, .12) 78%),
            linear-gradient(0deg, rgba(16, 17, 15, .75) 0%, transparent 39%);
    }

    .hero-service-rail > .wrap {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 72px;
    }

    .hero-service-rail a {
        min-height: 106px;
        padding-inline: 22px;
    }

    .hero-service-rail a:first-child {
        padding-left: 0;
    }

    .page-hero__content {
        grid-template-columns: minmax(0, 1fr) 108px;
        gap: 38px;
    }

    .page-hero__copy {
        width: min(820px, 78vw);
    }

    .page-hero__seal {
        width: 98px;
        height: 98px;
    }
}

@media (max-width: 900px) {
    .hero--immersive {
        min-height: auto;
    }

    .hero-grid--immersive {
        grid-template-columns: minmax(0, 1fr);
        padding-block: 66px 74px;
    }

    .hero--immersive .hero-copy {
        max-width: 700px;
    }

    .hero-service-rail strong {
        font-size: 13px;
    }

    .hero-service-rail small {
        font-size: 10px;
    }

    .page-hero--photographic {
        min-height: 610px;
    }

    .page-hero__copy {
        width: min(720px, 82vw);
    }

    .page-hero--photographic h1 {
        font-size: clamp(2.8rem, 6.2vw, 4.3rem);
    }

    .page-hero__media--secondary {
        left: auto;
        width: 29%;
    }
}

@media (max-width: 767px) {
    .hero--immersive {
        display: block;
        min-height: 0;
    }

    .hero-grid--immersive {
        display: block;
        min-height: 600px;
        padding-block: 58px 72px;
    }

    .home-hero__media--interior > img {
        object-position: 59% center;
    }

    .home-hero__media--paving {
        top: auto;
        bottom: 0;
        left: 59%;
        width: 41%;
        height: 56%;
        opacity: .9;
        clip-path: polygon(31% 0, 100% 0, 100% 100%, 0 100%, 15% 45%);
    }

    .hero__shade {
        background:
            linear-gradient(90deg, #10110f 0%, rgba(16, 17, 15, .94) 44%, rgba(16, 17, 15, .54) 72%, rgba(16, 17, 15, .25)),
            linear-gradient(0deg, rgba(16, 17, 15, .82) 0%, rgba(16, 17, 15, .18) 54%, rgba(16, 17, 15, .36) 100%);
    }

    .hero__geometry > span:nth-child(1) {
        top: 18%;
        left: 65%;
        width: 27%;
    }

    .hero__geometry > span:nth-child(2) {
        left: 72%;
        height: 58%;
    }

    .hero--immersive h1 {
        max-width: 11ch;
        font-size: clamp(2.7rem, 12vw, 4rem);
        line-height: 1.07;
    }

    .hero--immersive .hero-copy > p {
        max-width: 35ch;
        margin-block: 24px 28px;
        font-size: 15px;
    }

    .hero--immersive .actions {
        width: min(100%, 390px);
    }

    .hero--immersive .actions .button {
        flex: 1 1 150px;
    }

    .hero--immersive .hero-foot {
        width: min(100%, 390px);
        margin-top: 32px;
    }

    .hero-service-rail {
        position: relative;
    }

    .hero-service-rail > .wrap {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .hero-service-rail a,
    .hero-service-rail a:first-child {
        min-height: 84px;
        padding: 16px 20px;
        border-right: 0;
        border-bottom: 1px solid rgba(210, 175, 107, .24);
    }

    .hero-service-rail a:last-child {
        border-bottom: 0;
    }

    .hero-service-rail .hero-scroll {
        display: none;
    }

    .hero-service-rail small {
        white-space: normal;
    }

    .service-column__media {
        height: 250px;
        margin-bottom: 32px;
    }

    .page-hero--photographic {
        min-height: 590px;
    }

    .page-hero__media {
        inset: 0;
    }

    .page-hero__media > img {
        object-position: 63% center;
    }

    .page-hero--paving .page-hero__media > img,
    .page-hero--stone .page-hero__media > img,
    .page-hero--edging .page-hero__media > img,
    .page-hero--pattern .page-hero__media > img {
        object-position: center 48%;
    }

    .page-hero__shade {
        background:
            linear-gradient(90deg, rgba(16, 17, 15, .94) 0%, rgba(16, 17, 15, .74) 62%, rgba(16, 17, 15, .3) 100%),
            linear-gradient(0deg, rgba(16, 17, 15, .84) 0%, rgba(16, 17, 15, .18) 62%, rgba(16, 17, 15, .55) 100%);
    }

    .page-hero__trace::before {
        left: 82%;
    }

    .page-hero__trace > span:first-child {
        top: 18%;
        left: 69%;
        width: 24%;
    }

    .page-hero__trace > span:last-child {
        bottom: 11%;
        width: 31%;
    }

    .page-hero__content {
        display: block;
        min-height: inherit;
        padding-block: 48px 58px;
    }

    .page-hero__copy {
        width: 100%;
    }

    .page-hero--photographic .breadcrumbs {
        margin-bottom: 25px;
    }

    .page-hero--photographic h1 {
        max-width: 12ch;
        font-size: clamp(2.45rem, 10.5vw, 3.65rem);
        line-height: 1.07;
    }

    .page-hero--photographic p {
        max-width: 37ch;
        margin-top: 24px;
        font-size: 15px;
    }

    .page-hero--photographic .actions {
        width: min(100%, 390px);
    }

    .page-hero--photographic .actions .button {
        flex: 1 1 150px;
    }

    .page-hero__seal {
        display: none;
    }

    .page-hero__media--secondary {
        inset: auto 12px 18px auto;
        width: 34%;
        height: 31%;
        opacity: .78;
    }

    .page-hero--contact .page-hero__media:not(.page-hero__media--secondary),
    .page-hero--about .page-hero__media:not(.page-hero__media--secondary) {
        right: 0;
    }

    .page-hero--privacy {
        min-height: 390px;
    }

    .page-hero--privacy .page-hero__content {
        padding-block: 46px;
    }
}

@media (max-width: 390px) {
    .hero-grid--immersive {
        min-height: 620px;
    }

    .hero--immersive h1 {
        font-size: 2.72rem;
    }

    .hero--immersive .actions .button,
    .page-hero--photographic .actions .button {
        min-width: 0;
        padding-inline: 13px;
        font-size: 12px;
    }

    .page-hero--photographic h1 {
        font-size: 2.42rem;
        overflow-wrap: anywhere;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero--immersive .hero-media,
    .page-hero--photographic .hero-media,
    .hero__geometry > span,
    .page-hero__trace > span,
    .page-hero__seal,
    .service-column__picture > img {
        animation: none !important;
        transition: none !important;
    }
}

@media print {
    .hero--immersive,
    .page-hero--photographic {
        min-height: 0;
        background: #fff;
        color: #111;
    }

    .hero-scene,
    .page-hero__scene,
    .hero-service-rail,
    .page-hero__seal {
        display: none !important;
    }

    .hero-grid--immersive,
    .page-hero__content {
        min-height: 0;
        padding-block: 25px;
    }

    .hero--immersive p,
    .page-hero--photographic p,
    .page-hero--photographic .breadcrumbs {
        color: #333;
    }
}
/* Glavna navigacija */
.nav-services {
    position: static;
    color: var(--ink);
}

.nav-services > summary {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    list-style: none;
    cursor: pointer;
    font-size: 13px;
    white-space: nowrap;
}

.nav-services > summary::-webkit-details-marker {
    display: none;
}

.nav-services[data-current] > summary,
.nav-services[open] > summary,
.nav-services > summary:hover {
    color: var(--gold-light);
}

.nav-services__indicator {
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
}

.nav-services__indicator .icon {
    width: 15px;
    height: 15px;
    transition: transform .28s var(--ease);
}

.nav-services[open] .nav-services__indicator .icon {
    transform: rotate(45deg);
}

.nav-services__panel {
    position: absolute;
    top: 100%;
    right: 32px;
    width: min(820px, calc(100% - 64px));
    max-height: calc(100dvh - 140px);
    overflow-y: auto;
    padding: 30px;
    border: 1px solid #4b493d;
    background: rgba(16, 17, 15, .985);
    box-shadow: 0 26px 70px rgba(0, 0, 0, .4);
}

.nav-services__panel::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 100%;
    width: 150px;
    height: 22px;
}

.nav-services__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
}

.nav-services__top .section-label {
    margin: 0;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .14em;
}

.nav-services__top > a,
.nav-services__group-title {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--gold-light);
    font-weight: 650;
}

.nav-services__top .icon,
.nav-services__group-title .icon {
    width: 17px;
    height: 17px;
}

.nav-services__groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding-top: 26px;
}

.nav-services__group {
    min-width: 0;
    padding-right: 34px;
}

.nav-services__group + .nav-services__group {
    padding-right: 0;
    padding-left: 34px;
    border-left: 1px solid var(--line);
}

.nav-services__group-title {
    justify-content: space-between;
    width: 100%;
    min-height: 42px;
    color: var(--ink);
    font-size: 18px;
}

.nav-services__group-title:hover,
.nav-services__group-title[aria-current="page"],
.nav-services__group li a:hover,
.nav-services__group li a[aria-current="page"] {
    color: var(--gold-light);
}

.nav-services__group ul {
    display: grid;
    gap: 2px;
    margin-top: 12px;
    list-style: none;
}

.nav-services__group li a {
    display: flex;
    align-items: center;
    min-height: 38px;
    color: #c6c4ba;
    font-size: 12px;
    line-height: 1.35;
}

/* Brojevi su vidljivi uz svaku glavnu kontakt akciju. */
.action-phones {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 13px;
    font-variant-numeric: tabular-nums;
}

.action-phones a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    color: #dedacf;
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .015em;
}

.action-phones a:hover {
    color: var(--gold-light);
}

.action-phones .icon {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
    color: var(--gold-light);
}

.section--light .action-phones a {
    color: var(--light-ink);
}

.section--light .action-phones a:hover {
    color: #805e20;
}

.cta-band .action-phones {
    margin-bottom: 13px;
}

.project figcaption {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}

.project-service {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 42px;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid var(--line);
    color: var(--gold-light);
    font-size: 11px;
    font-weight: 650;
}

.project-service .icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
    transition: transform .22s var(--ease);
}

.project-service:hover .icon {
    transform: translateX(4px);
}

/* Jedinstveni pregled svih usluga */
.page-hero--directory .page-hero__media--secondary {
    opacity: .96;
}

.service-directory__intro {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(280px, .55fr);
    gap: 48px 100px;
    align-items: end;
    margin-bottom: 64px;
}

.service-directory__intro .section-label {
    grid-column: 1 / -1;
    margin-bottom: -24px;
}

.service-directory__intro > p {
    font-size: 16px;
    line-height: 1.8;
}

.service-directory__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line);
}

.service-directory-card {
    min-width: 0;
    padding-top: 32px;
}

.service-directory-card:first-child {
    padding-right: clamp(28px, 4vw, 64px);
}

.service-directory-card + .service-directory-card {
    padding-left: clamp(28px, 4vw, 64px);
    border-left: 1px solid var(--line);
}

.service-directory-card__media {
    position: relative;
    display: block;
    height: clamp(280px, 29vw, 420px);
    overflow: hidden;
    background: #292b22;
}

.service-directory-card__picture {
    position: absolute;
    inset: 0;
}

.service-directory-card__picture > img {
    object-fit: cover;
    transition: transform .7s var(--ease), filter .35s ease;
}

.service-directory-card__media::after {
    content: "";
    position: absolute;
    inset: 38% 0 0;
    background: linear-gradient(0deg, rgba(16, 17, 15, .78), transparent);
}

.service-directory-card__media:hover .service-directory-card__picture > img {
    transform: scale(1.025);
    filter: saturate(1.04);
}

.service-directory-card__number {
    position: absolute;
    z-index: 1;
    right: 24px;
    bottom: 18px;
    color: #f5f1e7;
    font-size: clamp(2.4rem, 4.2vw, 4.8rem);
    font-weight: 200;
    line-height: 1;
}

.service-directory-card__body {
    padding-top: 34px;
}

.service-directory-card__body h3 {
    max-width: 16ch;
    font-size: clamp(2rem, 3vw, 3.35rem);
}

.service-directory-card__body > p {
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.8;
}

.service-directory-card__body ul {
    margin: 28px 0 30px;
    list-style: none;
    border-top: 1px solid var(--line);
}

.service-directory-card__body li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 53px;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
    font-weight: 600;
}

.service-directory-card__body li .icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    color: #805e20;
    transition: transform .22s var(--ease);
}

.service-directory-card__body li a:hover {
    color: #805e20;
}

.service-directory-card__body li a:hover .icon {
    transform: translateX(4px);
}

.service-directory-notes {
    border-top: 1px solid var(--line);
}

.service-directory-notes__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 50px 100px;
}

.service-directory-notes article + article {
    padding-left: 64px;
    border-left: 1px solid var(--line);
}

.service-directory-notes h2 {
    font-size: clamp(1.8rem, 2.8vw, 2.8rem);
    margin-bottom: 22px;
}

/* Lokalna navigacija klastera */
.service-local-nav {
    position: relative;
    z-index: 4;
    border-bottom: 1px solid #34352d;
    background: var(--deep);
}

.service-local-nav__inner {
    display: flex;
    align-items: stretch;
    gap: 24px;
}

.service-local-nav__label {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 58px;
    padding-right: 24px;
    border-right: 1px solid var(--line);
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.service-local-nav__scroll {
    display: flex;
    align-items: stretch;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: #655632 #171713;
}

.service-local-nav__scroll a {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 58px;
    padding-inline: 17px;
    color: #bbb9af;
    font-size: 11px;
    white-space: nowrap;
}

.service-local-nav__scroll a::after {
    content: "";
    position: absolute;
    right: 17px;
    bottom: 0;
    left: 17px;
    height: 2px;
    background: transparent;
}

.service-local-nav__scroll a:hover,
.service-local-nav__scroll a[aria-current="page"] {
    color: var(--ink);
}

.service-local-nav__scroll a[aria-current="page"]::after {
    background: var(--gold-light);
}

/* Čvorišta i kartice usluga */
.service-choices__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .5fr);
    gap: 24px 80px;
    align-items: end;
    margin-bottom: 58px;
}

.service-choices__heading .section-label {
    grid-column: 1 / -1;
    margin-bottom: -8px;
}

.service-choices__heading h2 {
    max-width: 15ch;
}

.service-choices__heading > p {
    font-size: 15px;
    line-height: 1.8;
}

.service-choice-group + .service-choice-group {
    margin-top: 74px;
    padding-top: 42px;
    border-top: 1px solid var(--line);
}

.service-choice-group > h3 {
    margin-bottom: 28px;
    color: #805e20;
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.service-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 28px;
}

.service-card {
    min-width: 0;
    border-bottom: 1px solid var(--line);
}

.service-card--lead {
    grid-column: span 2;
}

.service-card__media {
    position: relative;
    display: block;
    height: clamp(210px, 20vw, 300px);
    overflow: hidden;
    background: #d8d3c6;
}

.service-card--lead .service-card__media {
    height: clamp(250px, 24vw, 350px);
}

.service-card__picture {
    position: absolute;
    inset: 0;
}

.service-card__picture > img {
    object-fit: cover;
    transition: transform .65s var(--ease), filter .3s ease;
}

.service-card__media::after {
    content: "";
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(0deg, rgba(16, 17, 15, .7), transparent);
}

.service-card__media:hover .service-card__picture > img {
    transform: scale(1.035);
    filter: saturate(1.04);
}

.service-card__index {
    position: absolute;
    z-index: 1;
    right: 18px;
    bottom: 13px;
    color: #f5f1e7;
    font-size: 26px;
    font-weight: 250;
    line-height: 1;
}

.service-card__body {
    padding: 25px 0 30px;
}

.service-card__body h3 {
    font-size: clamp(1.45rem, 2vw, 2rem);
}

.service-card__body h3 a:hover {
    color: #805e20;
}

.service-card__body > p {
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.75;
}

.service-card__body .text-link {
    margin-top: 19px;
    font-size: 12px;
}

/* Dogovor i procena */
.service-profile {
    position: relative;
    overflow: hidden;
    border-block: 1px solid var(--line);
    background:
        linear-gradient(90deg, rgba(210, 175, 107, .04) 1px, transparent 1px),
        var(--deep);
    background-size: 16.666% 100%;
}

.service-profile::after {
    content: "";
    position: absolute;
    top: -25%;
    right: 3%;
    width: 310px;
    height: 310px;
    border: 1px solid rgba(210, 175, 107, .18);
    transform: rotate(45deg);
    pointer-events: none;
}

.service-profile__heading {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 60px;
    align-items: end;
    margin-bottom: 56px;
}

.service-profile__heading .section-label {
    margin: 0;
}

.service-profile__heading h2 {
    font-size: clamp(2.1rem, 3.5vw, 3.65rem);
}

.service-profile__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(210, 175, 107, .35);
}

.service-profile__grid article {
    position: relative;
    min-width: 0;
    padding: 38px 46px 12px 0;
}

.service-profile__grid article + article {
    padding-right: 0;
    padding-left: 46px;
    border-left: 1px solid rgba(210, 175, 107, .35);
}

.service-profile__number {
    position: absolute;
    top: 38px;
    right: 38px;
    color: rgba(210, 175, 107, .45);
    font-size: 34px;
    font-weight: 250;
}

.service-profile__grid h3 {
    max-width: 19ch;
    padding-right: 62px;
    font-size: clamp(1.45rem, 2.2vw, 2.15rem);
}

.service-profile__grid ul {
    display: grid;
    gap: 0;
    margin-top: 28px;
    list-style: none;
}

.service-profile__grid li {
    position: relative;
    padding: 15px 0 15px 24px;
    border-top: 1px solid rgba(245, 241, 231, .12);
    color: #c4c1b7;
    font-size: 13px;
    line-height: 1.65;
}

.service-profile__grid li::before {
    content: "";
    position: absolute;
    top: 25px;
    left: 2px;
    width: 7px;
    height: 7px;
    border: 1px solid var(--gold-light);
    transform: rotate(45deg);
}

.service-profile--surface::after {
    border-radius: 50%;
    transform: none;
}

.service-profile--cleaning::after {
    width: 380px;
    border-radius: 50%;
    transform: none;
}

/* Dublji sadržaj stranice */
.service-detail .content-layout {
    align-items: start;
}

.content-toc {
    display: grid;
    gap: 0;
    margin-top: 30px;
    border-top: 1px solid var(--line);
}

.content-toc a {
    display: flex;
    align-items: center;
    min-height: 42px;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: 11px;
    line-height: 1.4;
}

.content-toc a:hover {
    color: #805e20;
}

.content-toc + .text-link {
    margin-top: 24px;
}

.service-proof {
    border-top: 1px solid var(--line);
}

@media (max-width: 1180px) {
    .nav {
        gap: 22px;
    }

    .nav-services__panel {
        right: 20px;
        width: min(780px, calc(100% - 40px));
    }

    .service-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-card--lead {
        grid-column: span 2;
    }
}

@media (max-width: 900px) {
    .service-directory__intro,
    .service-choices__heading {
        gap-inline: 48px;
    }

    .service-directory-card:first-child {
        padding-right: 28px;
    }

    .service-directory-card + .service-directory-card {
        padding-left: 28px;
    }

    .service-profile__heading {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .service-profile__grid article {
        padding-right: 32px;
    }

    .service-profile__grid article + article {
        padding-left: 32px;
    }
}

@media (max-width: 767px) {
    .nav {
        max-height: calc(100dvh - 156px);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        scrollbar-width: thin;
        scrollbar-color: #655632 #171713;
    }

    .nav-services {
        width: 100%;
    }

    .nav-services > summary {
        justify-content: space-between;
        min-height: 52px;
        font-size: 16px;
    }

    .nav-services__panel {
        position: static;
        width: 100%;
        max-height: none;
        overflow: visible;
        padding: 12px 0 20px 16px;
        border: 0;
        border-top: 1px solid var(--line);
        background: transparent;
        box-shadow: none;
    }

    .nav-services__panel::before {
        display: none;
    }

    .nav-services__top {
        display: block;
        padding-bottom: 14px;
    }

    .nav-services__top .section-label {
        display: none;
    }

    .nav-services__top > a {
        min-height: 48px;
        justify-content: space-between;
        font-size: 14px;
    }

    .nav-services__groups {
        grid-template-columns: 1fr;
        gap: 16px;
        padding-top: 16px;
    }

    .nav-services__group,
    .nav-services__group + .nav-services__group {
        padding: 0;
        border: 0;
    }

    .nav-services__group + .nav-services__group {
        padding-top: 16px;
        border-top: 1px solid var(--line);
    }

    .nav-services__group-title {
        min-height: 48px;
        font-size: 17px;
    }

    .nav-services__group ul {
        margin: 2px 0 0 12px;
    }

    .nav-services__group li a {
        min-height: 46px;
        padding-right: 8px;
        font-size: 13px;
    }

    .action-phones {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px 10px;
        width: min(100%, 390px);
    }

    .action-phones a {
        min-width: 0;
        font-size: 11px;
    }

    .page-hero--contact .action-phones,
    .page-hero--directory .action-phones {
        margin-top: 10px;
    }

    .mobile-dock--phones > a {
        min-width: 0;
        flex: 1 1 0;
        gap: 6px;
        padding-inline: 5px;
        font-size: clamp(10px, 3vw, 12px);
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }

    .mobile-dock--phones > .mobile-dock__viber {
        flex: 0 0 76px;
    }

    .mobile-dock--phones .icon {
        width: 15px;
        height: 15px;
        flex-basis: 15px;
    }

    .service-directory__intro,
    .service-choices__heading {
        display: block;
        margin-bottom: 42px;
    }

    .service-directory__intro .section-label,
    .service-choices__heading .section-label {
        margin-bottom: 18px;
    }

    .service-directory__intro > p,
    .service-choices__heading > p {
        margin-top: 22px;
    }

    .service-directory__grid {
        grid-template-columns: 1fr;
    }

    .service-directory-card,
    .service-directory-card:first-child,
    .service-directory-card + .service-directory-card {
        padding: 28px 0 0;
        border-left: 0;
    }

    .service-directory-card + .service-directory-card {
        margin-top: 54px;
        border-top: 1px solid var(--line);
    }

    .service-directory-card__media {
        height: 285px;
    }

    .service-directory-card__body h3 {
        font-size: 2.25rem;
    }

    .service-directory-notes__grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .service-directory-notes article + article {
        padding: 40px 0 0;
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .service-local-nav__inner {
        width: 100%;
        gap: 0;
    }

    .service-local-nav__label {
        position: sticky;
        left: 0;
        z-index: 2;
        min-height: 54px;
        padding-inline: 20px 16px;
        background: var(--deep);
    }

    .service-local-nav__scroll {
        padding-right: 20px;
    }

    .service-local-nav__scroll a {
        min-height: 54px;
        padding-inline: 14px;
        font-size: 11px;
    }

    .service-card-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .service-card--lead {
        grid-column: auto;
    }

    .service-card__media,
    .service-card--lead .service-card__media {
        height: 250px;
    }

    .service-choice-group + .service-choice-group {
        margin-top: 56px;
        padding-top: 32px;
    }

    .service-profile {
        background-size: 50% 100%;
    }

    .service-profile::after {
        right: -45%;
    }

    .service-profile__heading {
        margin-bottom: 40px;
    }

    .service-profile__grid {
        grid-template-columns: 1fr;
    }

    .service-profile__grid article,
    .service-profile__grid article + article {
        padding: 30px 0 10px;
        border-left: 0;
    }

    .service-profile__grid article + article {
        margin-top: 28px;
        border-top: 1px solid rgba(210, 175, 107, .35);
    }

    .service-profile__number {
        top: 30px;
        right: 4px;
    }

    .service-detail .content-aside {
        position: static;
        padding-bottom: 42px;
        border-bottom: 1px solid var(--line);
    }

    .content-toc {
        display: none;
    }
}

@media (max-width: 390px) {
    .action-phones a {
        gap: 5px;
        font-size: 10.5px;
        letter-spacing: 0;
    }

    .action-phones .icon {
        width: 12px;
        height: 12px;
        flex-basis: 12px;
    }

    .service-local-nav__label {
        padding-inline: 18px 13px;
        font-size: 9px;
    }

    .service-directory-card__media,
    .service-card__media,
    .service-card--lead .service-card__media {
        height: 225px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nav-services__indicator .icon,
    .service-directory-card__picture > img,
    .service-directory-card__body li .icon,
    .service-card__picture > img {
        transition: none !important;
    }
}

@media print {
    .nav-services,
    .service-local-nav,
    .action-phones {
        display: none !important;
    }

    .service-directory__grid,
    .service-card-grid,
    .service-profile__grid,
    .service-directory-notes__grid {
        display: block;
    }
}
